基于布尔值的Django管理下拉列表

2024-06-01 05:15:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何根据布尔值过滤下拉列表。假设其中一个对象是True,那么它将被显示,但是如果它是False,那么它就不会被显示。在

任何帮助都会很好。这是我的模型和管理文件的副本

模型.py

class Airports(models.Model):
    id = models.AutoField("ID", primary_key=True, editable=False,)
    airporticao = models.CharField("Airport ICAO", max_length=6, help_text="Example: CYYZ or KLGA")
    airportname = models.CharField("Airport name", max_length=50, help_text="Example:")
    country = models.CharField("Country", max_length=50, help_text="Example: Canada")
    hub = models.BooleanField("Hub?", default=False)

管理员py对于配置文件模块:

^{pr2}$

Tags: 对象textpy模型falsetrue列表models
1条回答
网友
1楼 · 发布于 2024-06-01 05:15:06

哦。试试这个:

class UserProfileadmin(admin.ModelAdmin):
    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if db_field.name == 'hub':
            kwargs['queryset'] = Airports.objects.filter(hub=True)
        return super(UserProfileadmin, self).formfield_for_foreignkey(db_field, request, **kwargs)

关于formfield_for_foreignkey的文档。在

相关问题 更多 >