मेरे पास एक Django मॉडल फ़ील्ड है जिसे मैं इनलाइन करना चाहता हूं। क्षेत्र कई से अधिक रिश्तों है। तो "परियोजनाएं" और "उपयोगकर्ता प्रोफाइल" हैं। प्रत्येक उपयोगकर्ता प्रोफ़ाइल किसी भी परियोजना का चयन कर सकते हैं।Django व्यवस्थापक इंटरफ़ेस: इनलाइन के साथ क्षैतिज_फिल्टर का उपयोग करना कईToMany फ़ील्ड
वर्तमान में, मुझे "टैब्यूलर" इनलाइन दृश्य काम मिल गया है। क्या "क्षैतिज फ़िल्टर" रखने का कोई तरीका है ताकि मैं आसानी से उपयोगकर्ता प्रोफ़ाइल से परियोजनाओं को जोड़ और निकाल सकूं?
कृपया उदाहरण के लिए संलग्न तस्वीर देखें।
class UserProfile(models.Model):
user = models.OneToOneField(User, unique=True)
projects = models.ManyToManyField(Project, blank=True, help_text="Select the projects that this user is currently working on.")
और एक परियोजना के लिए मॉडल कोड:
class Project(models.Model):
name = models.CharField(max_length=100, unique=True)
application_identifier = models.CharField(max_length=100)
type = models.IntegerField(choices=ProjectType)
account = models.ForeignKey(Account)
principle_investigator = models.ForeignKey(User)
active = models.BooleanField()
और दृश्य के लिए व्यवस्थापक कोड:
class UserProfileInline(admin.TabularInline):
model = UserProfile.projects.through
extra = 0
verbose_name = 'user'
verbose_name_plural = 'users'
class ProjectAdmin(admin.ModelAdmin):
list_display = ('name', 'application_identifier', 'type', 'account', 'active')
search_fields = ('name', 'application_identifier', 'account__name')
list_filter = ('type', 'active')
inlines = [UserProfileInline,]
admin.site.register(Project, ProjectAdmin)
धन्यवाद क्रिस! यह पहली बार मैंने कोशिश की एक आकर्षण की तरह काम किया! –
धन्यवाद, आप आदमी हैं। – whooot
ग्रेट समाधान, मेरे लिए बहुत अच्छा काम किया। – Blackeagle52