我有一个Wagtail片段是具有FK关系的模型的情况.我无法弄清楚如何在CMS中将其作为内联使用.
鉴于:
@register_snippet
class TeamMember(models.Model):
name = models.CharField(max_length=80)
(other fields)
content_panels = [
FieldPanel('name'),
(etc.)
#InlinePanel('tasks', label="Team Tasks")
]
class Task(models.Model):
team_member = ForeignKey('TeamMember', related_name='tasks')
(other fields)
Run Code Online (Sandbox Code Playgroud)
如何允许Task成为TeamMember的内联?
或者,如果TeamMember是一个页面,这是否可行?
给定一个models.py:
class Partner(models.Model):
... (fields irrelevant to this example)
class Lecture(models.Model):
... (other fields not relevant to this example)
partner models.ForeignKey(Partner)
Run Code Online (Sandbox Code Playgroud)
我有每个的ListView和每个的DetailView(工作正常)。
问题是在“ Partner DetailView”页面上,我有“讲座”列表。在很多情况下,此列表可能会很长(例如,> 200),并且涉众希望对其进行分页。我在ListView页面上的分页没有问题(很简单),但是我似乎无法在合作伙伴的DetailView页面上弄清楚如何在他们的演讲列表上进行分页。
我希望在Django文档代码中看到类似以下内容的代码:
class PartnerDetailView(DetailView):
model = Partner
paginate_using = Lecture # (or something like self.lecture ?)
paginate_by = 20
Run Code Online (Sandbox Code Playgroud)
因此,DetailView将作用于单个Partner对象,但将(轻松)允许从Lecture FK结果中进行分页。
有支持吗?还是会需要更多的自定义视图代码(也许将** kwargs中的'page'变量放入get_context_data()并基于该变量创建子集)?
在CBV下,这似乎是非常普遍的情况,所以我很困惑为什么搜索没有找到任何示例。
更新:我应该想到,执行此操作的一种简单方法是,将一个“页面”片段添加到引用DetailView的url()条目中,然后使用它在FK对象上创建分页的子集。
请注意,这也是解决“如何从FormView中分页结果”问题的可行方法。
我实际上正在寻找这个问题的反面: 将字符串转换为datetime
我有一个日期时间对象列表,我想从它们创建一个人性化的字符串,例如"2012年1月27日和30日,2012年2月4日".有任何想法吗?
请注意,strftime仅适用于单个datetime对象.这里的问题是你有一个可能不是均匀间隔的日期时间列表,可能跨越月份或年份边界,但整个日期范围必须用一个简洁的字符串表示.