在model.py
中class Event(models.Model):
e_name=models.CharField(max_length=80)
e_desc=models.TextField(validators=[MaxLengthValidator(200)])
e_date=models.DateField()
u_id=models.ForeignKey(User) #owner of event
e_status=models.BooleanField()
e_participants=models.IntegerField()
e_date_of_req=models.DateField(auto_now_add=True)
e_answer_type=models.BooleanField()
e_criteria=models.CharField(max_length=80)
class UserEvent(models.Model):
u_id=models.ForeignKey(User)
e_id=models.ForeignKey(Event)
def __unicode__(self):
return "%s, %s" %(self.u_id,self.e_id)
在admin.py中
class UserEventAdmin(admin.ModelAdmin):
list_display=(eventname,'e_date','e_status','user_name')
search_fields=('e_id__e_name','u_id__username','u_id__email',)
list_filter = ('e_id__e_status',)
date_hierarchy='e_date'
def e_date(self,obj):
return ("%s" % (obj.e_id.e_date))
e_date.short_description = 'Event Date'
def user_name(self,obj):
return obj.u_id.username
user_name.short_description = 'Owner'
def e_status(self,obj):
return obj.e_id.e_status
e_status.short_description = 'Event status'
e_status.boolean=True
admin.site.register(比赛,UserEventAdmin)
我收到错误:
UserEventAdmin.date_hierarchy'指的是模型'UserEvent'中缺少的字段'e_date'。
答案 0 :(得分:0)
您不能将 ModelAdmin 方法用作搜索字段。它必须是模型的属性。