我是 Django 的初学者,正在创建一个 RSVP 站点来处理多个事件并跟踪这些事件的客人。我有一个用于Guest的模型,用于Event和一个用于GuestEvent的中间模型。我想要一个页面来循环访问 GuestEvent 的每个GuestEvent并允许我更新GuestEvent中的出席、成人和儿童字段。我永远不需要通过前端创建或删除这些字段。
我目前正在尝试使用基于类的 UpdateView,但可以轻松切换到不同的视图。我尝试使用 django-betterforms 和 django-extra-views,但都没有任何运气。我还尝试了一些关于表单集和内联表单集的教程,但没有成功。我的模型如下所示:
class Event(models.Model):
name = models.CharField(max_length=200)
description = models.TextField(null=True, blank=True)
date = models.DateTimeField('event date')
guests = models.ManyToManyField('Guest', through='GuestEvent')
class Guest(models.Model):
first_name = models.CharField(max_length=45, null=True, blank=True)
last_name = models.CharField(max_length=45, null=True, blank=True)
events = models.ManyToManyField('Event', through='GuestEvent')
class GuestEvent(models.Model):
guest = models.ForeignKey('Guest', related_name='guests')
event = models.ForeignKey('Event', related_name='events')
attending = models.NullBooleanField()
adults = models.IntegerField(null=True, blank=True)
children = models.IntegerField(null=True, blank=True)
在某种更新视图中获取这些中间记录的最佳方法是什么?