已經找到相關答案,但找不到涵蓋我的具體需求的任何內容。我只使用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
我過濾絕對是仍然可用。現在要確保只顯示相關係列。我添加了屏幕截圖,顯示其他演出期間的系列也以下拉菜單顯示。