在 Django 管理屏幕中显示相关外键数据时出现问题
为了在我的管理列表视图中显示外键数据,我创建了一个可调用的:
def next_date(self):
EvDateObj = EventDate.objects.filter(event__id__exact=self.id)
.exclude(event_date__lt=datetime.date.today())
.order_by('event_date')[:1]
return EvDateObj
这在列表视图中显示为:
[<EventDate: 25 September 2010>]
这是 EventDate 模型的 unicode 字符串(2010 年 9 月 25 日),周围有一些 django 生成的对象内容: [< EventDate ______ >]
如果我修改可调用返回语句以尝试获取日期本身:
return EvDateObj.event_date
或者
return EvDateObj.event_date.strftime("%d %B %Y")
管理列表视图只是显示:
(None)
有什么想法吗?我不确定如何继续,因为我可以获得所需的对象,但无法在不触发“(无)”结果的情况下访问其任何属性。
To display foreignkey data in my admin list view, I created a callable:
def next_date(self):
EvDateObj = EventDate.objects.filter(event__id__exact=self.id)
.exclude(event_date__lt=datetime.date.today())
.order_by('event_date')[:1]
return EvDateObj
This shows in the list view as:
[<EventDate: 25 September 2010>]
Which is the unicode string for the EventDate model (25 Sept 2010), with some django-generated object stuff around it: [< EventDate ______ >]
If I modify the callable return statement to try and just get the date itself:
return EvDateObj.event_date
or
return EvDateObj.event_date.strftime("%d %B %Y")
the admin list view simply shows:
(None)
Any thoughts? I am unsure how to proceed because I can get the desired object, but cannot access any of its properties without triggering the "(None)" result.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否尝试过:
objects.filter() 始终返回一个 QuerySet(类似于 Python 列表),即使只有 1 个结果。 EDateObj.objects.get() 将返回一个对象。
或者你可以这样做:
我自己还没有尝试过,所以希望这对你有用。
Have you tried:
objects.filter() always returns a QuerySet (similar to a Python List), even if there is only 1 result. EDateObj.objects.get() will return an object.
Alternatively you can do:
I haven't tried it myself, so hope this works for you.