已经找到相关答案,但找不到涵盖我的具体需求的任何内容。我只使用Django约2周。已经尝试过教程和Django文档。在Django管理输入表格中过滤输入
背景。我有一个拥有不同资金的数据库。每个基金可以有不同的表现 期间。在每个表演期间可以有不同的系列。每个绩效周期可以有 其中的所有系列都有流量。 已经建立了关系数据库,以便它像这样过滤掉。问题在于 系列名称会在各个性能期间被重复使用(有一个独立的唯一键)。
我的模型文件,看起来是这样的:
class SeriesFlow(models.Model):
series= models.ForeignKey(Series)
date = models.DateField('date for flow')
value = models.FloatField('Flow pos inflow, neg outflow')
def __unicode__(self):
return str(self.series)
class Series(models.Model):
perf_period = models.ForeignKey(PerformancePeriod)
series = models.CharField(max_length=100)
series_longname = models.CharField(max_length=200, blank=True)
# more fields
def __unicode__(self):
return self.series
在admin.py文件我做的以下相关内容:
class SeriesFlowAdmin(admin.ModelAdmin):
fields = ['series', 'date', 'value']
list_display = ['series', 'date', 'value']
list_filter = ['series__perf_period'] #nice __ syntax to go backwards
# and then registering the admin interfaces
admin.site.register(Fund, FundAdmin)
admin.site.register(PerformancePeriod, PerformancePeriodAdmin)
admin.site.register(Profit, ProfitAdmin)
admin.site.register(Series, SeriesAdmin)
admin.site.register(SeriesFlow, SeriesFlowAdmin)
管理形式允许我来过滤系列流由 是我要做的表现期。当我尝试添加系列流时,我会得到我想输入系列,日期,值的三个字段 。问题是,下拉菜单 是否提供了数据库中所有系列的选项。我想要筛选 下拉菜单,以便系列流量进入页面,以便它只显示相关系列。 显示的系列名称会在不同的基金和绩效期间重复使用 因此下拉菜单很混乱!已过滤的效果时间段位于 的表格中,因此它是无法使用的。只是不知道如何筛选它。
网址为系列流量过滤和流量入口形式有:
admin/fee/seriesflow/?series__perf_period__id__exact=3
admin/fee/seriesflow/add/?_changelist_filters=series__perf_period__id__exact%3D3
我过滤绝对是仍然可用。现在要确保只显示相关系列。我添加了屏幕截图,显示其他演出期间的系列也以下拉菜单显示。