1

ブール値に基づいてドロップダウンをフィルタリングする方法を考えています。オブジェクトの1つがであるとするとTrue、それは表示されますが、そうである場合はFalse表示されません。

どんな助けでも素晴らしいでしょう。これが私のモデルと管理ファイルのコピーです

models.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)

プロファイルモジュールのadmin.py :

class UserProfileadmin(admin.ModelAdmin):
    list_display = ['user', 'country', 'vatsimid', 'totalflights', 'totalhours', 'hub']
    search_fields = ['user']
4

1 に答える 1

0

おー。これを試して:

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に関するドキュメント。

于 2012-11-28T22:49:02.680 に答える