Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

विदेशी कुंजी और django-taggit संबंध खींचने के लिए django क्वेरी को अनुकूलित करें

prefetch_related का उपयोग करना संभव है टैग को पुनः प्राप्त करने के लिए, लेकिन आपको 'टैग' संपत्ति के इर्द-गिर्द भटकने की जरूरत है, क्योंकि - जैसा कि jdi कहता है - यह एक सच्चे संबंध के बजाय एक कस्टम प्रबंधक है। इसके बजाय, आप यह कर सकते हैं:

actions = Action.objects.select_related('reoccurance').filter(complete=False)\ .prefetch_related('tagged_items__tag')

दुर्भाग्य से, action.tags.all आपके टेम्प्लेट में कोड प्रीफ़ेच का उपयोग नहीं करेगा, और अपनी स्वयं की क्वेरी करना समाप्त कर देगा - इसलिए आपको वहां भी 'टैग' प्रबंधक को दरकिनार करने के बजाय हैक करने वाला कदम उठाने की आवश्यकता है:

{% for tagged_item in action.tagged_items.all %}
    <span>{{ tagged_item.tag }}</span>{% if not forloop.last %}, {% endif %}
{% endfor %}

(Ed.:यदि आपको "'QuerySet' ऑब्जेक्ट में कोई विशेषता नहीं है 'prefetch_संबंधित'" मिल रहा है, तो यह सुझाव देता है कि आप Django के 1.4 से नीचे के संस्करण पर हैं, जहां prefetch_संबंधित उपलब्ध नहीं है।)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं एक mysql थ्रेड स्टैक ओवररन को कैसे हल करूं?

  2. मैं डेटाबेस प्रक्रिया को कैसे तेज कर सकता हूं?

  3. कई से कई रिश्तों में समस्या

  4. MySQL में नया उपयोगकर्ता बनाएं और इसे एक डेटाबेस तक पूर्ण पहुंच प्रदान करें

  5. सर्वर स्थिति कोड को कैसे ठीक करें:302 SQL द्वारा पाया गया मुझे Firefox Addon इंजेक्ट करें