外键上的django admin date-hierarchy会产生错误

时间:2012-03-12 11:33:56

标签: django-admin

在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'。

1 个答案:

答案 0 :(得分:0)

您不能将 ModelAdmin 方法用作搜索字段。它必须是模型的属性。