filtering dropdown values in django admin

后端 未结 4 1563
野的像风
野的像风 2020-12-09 17:27
class Foo(models.Model):
    title = models.TextField()
    userid = models.IntegerField()
    image = models.CharField(max_length=100)
    def __unicode__(self):
           


        
4条回答
  •  醉酒成梦
    2020-12-09 17:44

    You can provide your own form for ModelAdmin, with custom queryset for foo field.

    from django import forms
    from django.contrib import admin
    
    #Create custom form with specific queryset:
    class CustomBarModelForm(forms.ModelForm):
        class Meta:
            model = Bar
            fields = '__all__'
    
        def __init__(self, *args, **kwargs):
            super(CustomBarModelForm, self).__init__(*args, **kwargs)
            self.fields['foo'].queryset = Foo.objects.filter(title__isnull=False)# or something else
    
    # Use it in your modelAdmin
    class BarAdmin(admin.ModelAdmin):
        form = CustomBarModelForm
    

    Something like this...

    docs

提交回复
热议问题