【发布时间】:2015-03-15 01:00:32
【问题描述】:
我正在使用 django 我的模型和管理部分如下所示
`Model.py'
class Scrip_Master(models.Model):
nse_markt_typ = models.CharField(max_length=35, editable=True)
bse_markt_typ = models.CharField(max_length=35, editable=True)
mcx_sx_markt_typ = models.CharField(max_length=35, editable=True)
nse_symbol = models.CharField(max_length=35, editable=True)
bse_symbol = models.CharField(max_length=35, editable=True)
mcx_sx_symbol = models.CharField(max_length=35, editable=True)
isin_code = models.CharField(max_length=35, editable=True)
nse_series = models.CharField(max_length=35, editable=True)
bse_series = models.CharField(max_length=35, editable=True)
mcx_series = models.CharField(max_length=35, editable=True)
nse_dt_listng = models.DateTimeField(editable=False,null=True)
bse_dt_listng = models.DateTimeField(editable=False,null=True)
face_value = models.DecimalField(max_digits=12, decimal_places=2, default=0.00, editable=True)
def nse_date_listng(self):
if self.nse_dt_listng is not None:
return self.nse_dt_listng.strftime("%d/%m/%Y")
else:
return self.nse_dt_listng
Admin.py
class Scrip_MasterAdmin(admin.ModelAdmin):
list_display = ('nse_markts_typ','nse_symbol','isin_code','nse_series','nse_date_listng','face_value')
search_fields = ['nse_markt_typ','nse_symbol','isin_code','nse_series','nse_date_listng','face_value']
def nse_markts_typ(self,obj):
if MDfile.objects.filter(symbol=obj.nse_symbol).first():
nse_markt_typ = MDfile.objects.filter(symbol=obj.nse_symbol).first()
return nse_markt_typ.mkt_type
else:
return obj.nse_markt_typ
在此 nse_markt_typ 列中没有任何类型的数据,它引用另一个表中的另一个列并填充结果。但是这里的问题是我的过滤器不适用于该字段,因为显示的数据不在数据库中,所以如何实现对该字段的过滤 有谁知道解决办法吗??
【问题讨论】:
标签: django python-2.7 search model admin