我有这样的模特:
客人:
class Guest(models.Model):
name = models.CharField(max_length=255)
phone = models.CharField(max_length=255)
# ...
和会议:
class Meeting(models.Model):
# some fields ...
guests = models.ManyToManyField(through='GuestOnMeeting')
很多客人都可以参加会议。一位客人可以参加很多会议。我们将存储一些额外的信息。因此,通过某种模式,它是多对多的。
class GuestOnMeeting(models.Model):
guest = models.ForeignKey(Guest)
meeting = models.ForeignKey(Meeting)
# ... some other fields
问题是:
如何定义表单以编辑会议的访客列表(邀请访客 - 稍后我们将使用它发送短信邀请 - 没有垃圾邮件,访客几乎是我们的朋友;)。
< / LI>每位客人都有经理(经理= models.ForeignKey(经理))。如何修改此表单(或这些模型)以允许管理员仅邀请链接到它们的访客(使用外键)?
答案 0 :(得分:2)
如果你想要管理员内联,你正在寻找inlineformset_factory。
>>> from django.forms.models import inlineformset_factory
>>> GuestOnMeetingInline = inlineformset_factory(GuestOnMeeting, Meeting)
>>> meeting = Meeting.objects.all()[0]
>>> form = MeetingForm(instance=meeting)
>>> formset = GuestOnMeetingInline(instance=meeting)