django - Wagtail - 如何保存使用包含 M2M 的 InlinePanel 的记录
问题描述
我有一个模型,它使用InlinePanel
来引用另一个模型 ( ClubTimetable
),该模型本身包含与 的 M2M 关系DayOfTheWeek
。似乎我无法保存记录,因为ClubTimetable
尚未保存并且无法创建与 的 M2M 关系DayOfTheWeek
,导致以下错误:
"<ClubTimetables: Club Timetable (str) 18:00:00>" needs to have a value for field "id" before this many-to-many relationship can be used.
我能做些什么来解决这个问题?
我的模型看起来像这样
# ClubManager
@register_snippet
class ClubManager(ClusterableModel):
name = models.CharField('Club name',
max_length=255,
help_text='The name of the club.')
panels = [
FieldPanel('name'),
InlinePanel('club_timetable', heading='Timetable Information')
]
# ClubTimetables
class ClubTimetables(Orderable, AddressBase):
attached_to = ParentalKey(
'club.ClubManager', related_name='club_timetable')
weekday = models.ManyToManyField(DaysOfTheWeek)
start_time = models.TimeField()
end_time = models.TimeField()
panels = [ ... ] + AddressBase.panels
# DaysOfTheWeek
class DaysOfTheWeek(models.Model):
weekday = models.CharField(max_length=9)
def __str__(self):
return self.weekday
在视觉上,它看起来像这样
解决方案
推荐阅读
- docker - 如何在 Docker 中配置 WSO2 API-M 3.0.0 和 API-M Analytics 3.0.0?
- c++ - 获取 if 语句以检查已定义的宏
- laravel - 如何在 laravel 控制器中获取数据作为关联数组,如 pg_fetch_assoc?
- angular - 我可以为 CDN(Cloudfront AWS)提供完整的 Angular 网站吗?
- e-commerce - Square是否提供托管服务?
- python-3.x - PDF文本以格式化结构表现出色
- python - 使用脚本将视频转换为训练图像数据集
- sql - 获取数据库列值更改时的时间戳
- npm - uglifyjs-webpack-plugin 安全漏洞
- javascript - 使用 CSS 的基于 HTML 时间线的列表样式