簡體   English   中英

Django python中的自定義管理員下拉菜單

[英]Customized admin drop down menu in Django python

我只是python的初學者。 我創建了兩個名為child和parent的管理服務。

父級-表格

ID

名稱

類型

兒童-桌子

pid

類型

名字

在這兩個服務列中,“類型”將顯示在下拉列表中。 為父項創建條目時,如果未在父項服務中選擇“類型”。 那個未選擇的父母身份證應該在下拉菜單的子服務中顯示抱歉,我的英語不好

# models.py

class Parent(models.Model):

    id = models.IntegerField(blank=False)

    type = models.ForeignKey(
        'self',
        on_delete=models.CASCADE,
        blank=True,
        null=True,
        related_name='parent_set')
   name = models.CharField(max_length=20)


class Child(models.Model):

    pid = models.IntegerField(max_length=30, blank=False)
    Type = models.ForeignKey(
         Parent,
         null=True, 
         on_delete=models.CASCADE, 
         related_name='child_set' )
    pname = models.CharField(max_length=20)

任何幫助,將不勝感激

還沒有測試 請檢查是否可行。

class ChildAdmin(admin.ModelAdmin):
    def render_change_form(self, request, context, *args, **kwargs):
         chosen_types = Parent.objects.all().values_list('type', flat=True)
         context['adminform'].form.fields['Type'].queryset = Parent.objects.all().exclude(pk__in=chosen_types)
         return super(ChildAdmin, self).render_change_form(request, context, args, kwargs)         

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM