एक मॉडल MainModel
नामित को देखते हुए और एक RelatedModel
, जहां बाद में एक ForeignKey
क्षेत्र MainModel
गया है के आधार पर अलग अलग inlines दिखाने के लिए कैसे:वर्तमान वस्तु क्षेत्र मूल्य
class MainModel(models.Model):
name = models.CharField(max_length=50)
type = models.BooleanField()
class RelatedModel1(models.Model):
main = models.ForeingKey(MainModel):
name = models.CharField(max_length=50)
class RelatedModel2(models.Model):
main = models.ForeingKey(MainModel):
name = models.CharField(max_length=50)
और इसी ModelAdmin कक्षाएं:
class RelatedModel1InlineAdmin(admin.TabularInline):
model = RelatedModel1
class RelatedModel2InlineAdmin(admin.TabularInline):
model = RelatedModel2
class MainModel(admin.ModelAdmin):
inlines = [RelatedModel1, RelatedModel2]
और यह डिफ़ॉल्ट व्यवहार है, आपको प्रत्येक इनलाइन मॉडल के लिए दो इनलाइन मिलती हैं। सवाल पूरी तरह से सभी inlines छिपाने के बारे में जब MainModel
उदाहरण RelatedModel2
जब के लिए बनाया जाता जा रहा है (ModelAdmin
के add_view
), और RelatedModel1
के लिए inlines दिखाने के लिए जब MainModel
उदाहरण के type
क्षेत्र True
है, और दिखाने के inlines है False
।
मैं ModelAdmin.inline_instances
विशेषता के लिए descriptor बनाने जा रहा था, लेकिन मुझे एहसास हुआ कि मुझे ऑब्जेक्ट इंस्टेंस को संपादित करने की आवश्यकता है, लेकिन इसे पैरामीटर के रूप में पारित किया गया है।
कोई मदद?
धन्यवाद!
मैं जरूरत है कि कुछ समय पहले .. कभी नहीं जवाब है, अच्छा सवाल मिल गया! – juliomalegria