Django Python用附加信息对ManyToMany关系进行了注释



我的问题如下。我在数据库中有两个模型,我使用ManyToMany关系将它们链接在一起。对于我当前使用的管理页面;管理表格联机"通过图形将不同的对象绑定到一个对象。我仍然想在连接中指定一个顺序,最好是表示处理顺序的数字。更形象地描述一下,我有一个模型";调查";并且模型";调查问题";。因此,我将许多调查问题与调查联系起来。但我不能指定订单,因为我没有额外的字段。之前还不知道调查中会有多少问题。也不知道会插入哪些问题。通常,它们是在调查编制期间建造的,以后可能会用于另一次调查。我很感激你给我的每一个小费!

这可以通过使用参数在Survey和SurveyQuestion之间定义自定义关系表来实现。例如,您可以定义一个关系模型:

class Question(models.Model):
question = models.CharField(max_length=256)
class Survey(models.Model):
name = models.CharField(max_length=256)
questions = models.ManyToManyField(Questions, through='Questionnaire')

class Questionnaire(models.Model):
survey = models.ForeignKey(Survey, on_delete=models.CASCADE)
question = models.ForeignKey(Question, on_delete=models.CASCADE)
question_order = models.IntegerField()

详细信息和示例可在此处找到:https://docs.djangoproject.com/en/3.1/topics/db/models/#extra-多对多关系的字段。如果你不想搞砸模型,那么你必须找出一些类似于Ronak Muhta提出的破解方法。

最新更新