在这个Django逻辑脑筋急转弯中使用哪些函数?

2024-09-30 06:34:36 发布

您现在位置:Python中文网/ 问答频道 /正文

对于VisitorMeetingMeetingArrival(guest checking in),我有以下模型

class Visitor(models.Model):
    visitor_name = models.CharField(default='', max_length=128, blank=False, null=False)

class Meeting(models.Model):
    meeting_title = models.CharField(default='', max_length=128, blank=True, null=True)
    meeting_time = models.TimeField(blank=False, null=False)
    meeting_date = models.DateField(blank=False, null=False)
    hosts = models.ManyToManyField(Team, blank=False, null=False) # hosts
    expected_guests = models.ManyToManyField(Visitor, blank=False, null=False) # invited guests

class MeetingArrival(models.Model):
    visitor = models.ForeignKey(Visitor)
    meeting = models.ForeignKey(Meeting)
    arrival_time = models.DateTimeField(auto_now_add=True)

我已经在会话session_visitor = Visitor.objects.get(id=request.session['visitor_id'])中存储了visitor.id。在Meeting中,hosts是主持会议的员工列表,expected_gusts是预先注册的访客列表

最简单的方法是什么(即我应该使用哪些函数/方法):

  1. 允许visitor选择host(我假设是通过Meeting模型上的selectfield选择的)
  2. 检查visitor是否列为expected guestmeeting实例的host,(我应该使用through?这是怎么回事?)
  3. 选择与当前时间最接近的符合条件的Meeting(假设可能有多个),并基于该meeting为该visitor创建一个MeetingArrival

代码示例将非常有用!谢谢


Tags: idfalsetruemodelmodelsnullclassexpected

热门问题