用其他模型中的对象填充django模型

用其他模型中的对象填充django模型,django,model,Django,Model,我是django的新手,但正在为当地的一个志愿帆船组织开发一个应用程序。我不知道该怎么问这个问题,因为这是一个相当普遍的问题,但我希望以下两个模型的基础上发生 游艇等级(船名、船长、颜色等) 比赛\事件等级(事件日期、每艘船的时间结果) 步骤1:用户需要每周创建一个Race_事件。我想把游艇模型中的船只装载到比赛中。 步骤2:用户将为每艘船输入比赛时间 有没有办法将对象从一个模型预加载到另一个模型中?使用ForeignKey,用户每次都必须添加船只。对我来说,任何研究方向都会有帮助 以下是迄今为

我是django的新手,但正在为当地的一个志愿帆船组织开发一个应用程序。我不知道该怎么问这个问题,因为这是一个相当普遍的问题,但我希望以下两个模型的基础上发生

游艇等级(船名、船长、颜色等)

比赛\事件等级(事件日期、每艘船的时间结果)

步骤1:用户需要每周创建一个Race_事件。我想把游艇模型中的船只装载到比赛中。
步骤2:用户将为每艘船输入比赛时间

有没有办法将对象从一个模型预加载到另一个模型中?使用ForeignKey,用户每次都必须添加船只。对我来说,任何研究方向都会有帮助

以下是迄今为止的简化代码

class Yacht (models.Model):

    yacht_classes = [('A', 'A'),('A1', 'A1'),]
    yacht_type = [('J-29','J-29'),('J-24','J-24'),]

    yacht_name = models.CharField(max_length=75)
    yacht_type = models.CharField(max_length=25, choices=yacht_type, 
    default='J-29')
    yacht_class = models.CharField(max_length=25, choices=yacht_classes)
    skipper = models.ForeignKey(Skipper, on_delete=models.CASCADE)

    def __str__(self):
        return self.yacht_name


class Event (models.Model):
    race_date = models.DateTimeField(default=timezone.now)
    #yachts = #how to Include Yacht.objects.all() to the field?

class Results (models.Model):
    pass
谢谢

是的,你可以使用信号。。。 保存对象后,您可以调用post_save并将所有游艇添加到比赛中 更多=>

但我不认为这是一个好方法

(并非每次都必须显示或保存所有数据=>在数据库中保存此行)

我建议您使用m2M的比赛和船舶之间的通过表,其中时间是节省在表之间

那么就看你如何向最终用户提出这个问题了

使用此解决方案,您只保存所需的数据

这可以通过


是否所有游艇实例都需要与新的RaceEvent实例关联?是。如果一艘游艇没有比赛,我们的想法是让时间为空,内部逻辑将处理结果列表。谢谢,我将阅读这两个链接。假设所有船只总是要填充一个比赛事件(它们想显示没有比赛的船只),那么即使有赛后保存信号,您如何填充比赛?好的,赛后保存信号总是在比赛保存时调用。我不知道你的模型是什么样子,所以我不知道怎么做。。很可能,如果使用m2m,将通过多次添加每艘船来进行比赛。抱歉。我已经在原来的帖子中添加了代码。你会如何将所有游艇添加到上述模型中的活动中?