क्या डीजेंगो को यह बताने का एक तरीका है कि एक मॉडल सामग्री सामग्री है जेनेरिकॉर्निनेकी केवल एक पूर्वनिर्धारित सूची से मॉडल को इंगित कर सकता है? उदाहरण के लिए, मेरे पास 4 मॉडल हैं: ए, बी, सी, डी और एक मॉडल एक्स जिसमें जेनेरिक फोरिनेकी है। क्या मैं एक्स को बता सकता हूं कि GenericForeignKey के लिए केवल A & बी की अनुमति है?मैं Django की GenericForeignKey को मॉडलों की सूची में कैसे प्रतिबंधित कर सकता हूं?
49
A
उत्तर
93
उदाहरण के लिए, आपके ऐप्स ऐप और ऐप 2 हैं और ऐप में ए, बी मॉडल हैं और ऐप 2 में सी, डी मॉडल हैं। आप ForeignKey पर केवल app.A और app.B और app2.C
class TaggedItem(models.Model):
tag = models.SlugField()
limit = models.Q(app_label = 'app', model = 'a') | models.Q(app_label = 'app', model = 'b') | models.Q(app_label = 'app2', model = 'c')
content_type = models.ForeignKey(ContentType, limit_choices_to = limit)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
उपयोग limit_choices_to देखना चाहते हैं।
विवरण और क्यू ऑब्जेक्ट्स, app_label के लिए django दस्तावेज़ों की जांच करें। आपको उचित app_label और मॉडल लिखने की आवश्यकता है। यह सिर्फ कोड स्निपेट
प्लस: मुझे लगता है कि आप गलत app_label लिखते हैं। यह आपकी मदद कर सकता है।
from django.contrib.contenttypes.models import ContentType
for c in ContentType.objects.all():
print(c.app_label, c.model)
संबंधित मुद्दे
- 1. मैं तत्वों की सूची से कैसे समूह कर सकता हूं?
- 2. मैं इन Django रिकॉर्ड्स को कैसे फ़िल्टर कर सकता हूं?
- 3. मैं .NET में शब्दकोशों की सूची कैसे बना सकता हूं?
- 4. मैं आरसीपीपी में वैक्टरों की सूची कैसे बना सकता हूं?
- 5. मैं समानांतर में कमांड की सूची कैसे चला सकता हूं?
- 6. मैं सूची की पहली स्थिति में कैसे जोड़ सकता हूं?
- 7. मैं कुछ मामलों में केवल Django की सीएसआरएफ सुरक्षा को कैसे अक्षम कर सकता हूं?
- 8. मैं वक्र() को पॉइंट्स की सूची में कैसे परिवर्तित कर सकता हूं?
- 9. मैं एक सूची की सामग्री को एक varargs विधि में कैसे पास कर सकता हूं?
- 10. मैं फ़ाइल नामों की एक सूची को पेड़ संरचना में कैसे परिवर्तित कर सकता हूं?
- 11. मैं पाइथन शब्दकोश को टुपल्स की सूची में कैसे परिवर्तित कर सकता हूं?
- 12. मैं इस स्ट्रिंग को सूचियों की सूची में कैसे परिवर्तित कर सकता हूं?
- 13. मैं वस्तुओं की सूची को csv में कैसे परिवर्तित कर सकता हूं?
- 14. मैं अपनी प्रक्रिया द्वारा लोड की गई फ़ाइलों की सूची कैसे प्राप्त कर सकता हूं?
- 15. मैं किसी पृष्ठ की घटनाओं की सूची कैसे प्राप्त कर सकता हूं?
- 16. मैं आईएमएपी की आईडीईएल को कैसे बाधित कर सकता हूं?
- 17. मैं बटन की पृष्ठभूमि को कैसे स्केल कर सकता हूं?
- 18. क्यूटी- मैं उन फ़ॉन्ट्स की सूची कहां पा सकता हूं जिनका मैं उपयोग कर सकता हूं?
- 19. मैं शब्दों की सूची से रेगेक्स कैसे बना सकता हूं?
- 20. मैं जीएचसी में SpecConstr की मदद कैसे कर सकता हूं?
- 21. मैं TemplateInfo.HtmlFieldPrefix की सूची अनुक्रमणिका कैसे बदल सकता हूं?
- 22. मैं तारों की सरणी कैसे क्रमबद्ध कर सकता हूं?
- 23. मैं पर्ल में सरणी की तुलना कैसे कर सकता हूं?
- 24. मैं उपयोगकर्ता की फेसबुक आईडी को django-allauth के साथ कैसे प्राप्त कर सकता हूं?
- 25. मैं पायथन में किसी सूची में मौजूद कई तत्वों की अनुक्रमणिका कैसे वापस कर सकता हूं?
- 26. मैं कस्टम ऑब्जेक्ट्स की सरणीसूची कैसे संग्रहीत कर सकता हूं?
- 27. विम की% कार्यक्षमता को कैसे प्रतिबंधित करें?
- 28. क्या मैं आईपी पर आधारित देश को प्रतिबंधित या प्रतिबंधित कर सकता हूं?
- 29. आर: मैं पैकेज कार्यों की सूची के छंटनी को कैसे अक्षम कर सकता हूं?
- 30. मैं पूंछ-पुनरावर्ती सूची को कैसे कार्यान्वित कर सकता हूं?
लेकिन, व्यवस्थापक इंटरफ़ेस इसका उपयोग क्षेत्र के लिए इसका उपयोग नहीं करता है। ऐसा क्यों है? – Geo
मैंने इसे व्यवस्थापक पक्ष पर चेक किया और यह अपेक्षित के रूप में डिफ़ॉल्ट व्यवस्थापक के साथ काम करता है। हो सकता है कि आपने वहां कुछ छोटा टाइपो किया हो। मुझे आपकी समस्या नहीं पता। – mumino
मेरे व्यवस्थापक पर, जब मैं आपकी सीमा जोड़ता हूं, जेनेरिक फॉर्निनेकी के चयन से विकल्प गायब हो जाते हैं। मैं केवल "---" के साथ छोड़ दिया गया है। क्या आप अपने व्यवस्थापक के चयन विकल्पों के साथ एक स्क्रीनशॉट पोस्ट कर सकते हैं? – Geo