Django stackinline只显示不相关的字段

时间:2018-06-17 20:20:31

标签: django

我有一个基于位置的应用:国家/地区>县:

class State(models.Model):

class City(models.Model):
    state=models.ForeignKey(State)

class County(models.Model):
    city=models.ForeignKey(city)

我需要收集有关每种气候的信息,这些信息已经存在。我没有创建三个单独的模型,而是决定使用一个模型:

class PlaceWeather(models.Model):  
    state=models.ForeignKey(State, db_index=True, null=True, default=None)
    city=models.ForeignKey(State, db_index=True, null=True, default=None)
    county=models.ForeignKey(State, db_index= True, null=True, default=None)
    start_month=models.PostiveIntegerField()
    end_month=models.PositiveIntegerField()

然后是过去3年收集的气候导向数据。

现在我的问题出现在管理区域。

class PlaceWeatherInline(admin.StackedInline):
    model = PlaceWeather
    can_delete = False
    verbose_name_plural = _('PlaceWeather')


class StateAdmin(admin.ModelAdmin):
    list_display = ('name', )
    inlines=(PlaceWeatherInline,)

此处,在StateAdmin部分中,它仅显示城市和县天气字段。在CityAdmin中,它省略了City并显示State和County,在CountyAdmin中,它省略了county并在堆叠内联部分显示State和City。

我的目的是仅在StateAdmin中显示PlaceWeather的状态字段,或者至少与City和County一起显示它。

我该如何做到这一点?

0 个答案:

没有答案