我的model.py中有两个类:
class Table(models.Model):
name = models.CharField(max_length=100, blank=True)
class Activity(models.Model):
name = models.CharField(max_length=100, blank=False)
process = models.CharField(max_length=100, blank=True, default='')
对于这两个类,我分别创建了一个序列化器:
class TableSerializer(serializers.Serializer):
pk = serializers.IntegerField(read_only=True)
name = serializers.CharField(required=True, allow_blank=False, max_length=100)
def create(self, validated_data):
return Table.objects.create(**validated_data)
def update(self, instance, validated_data):
instance.name = validated_data.get('name', instance.name)
instance.save()
return instance
(活动相同)
我现在想存储表和活动之间的关系。一个活动可以有多个表。现在我不知道是否需要创建一个像这样的新类:
class TableActivity(models.Model):
activtiy = models.ManyToManyField('Activity')
table = models.ManyToManyField('Table')
或者这可以包含在活动中了吗? 我的模型/序列化器应该怎么样?
答案 0 :(得分:1)
您不应该创建类TableActivity。您可以将字段activtiy = models.ManyToManyField('Activity')
添加到表格Table
,或将字段table = models.ManyToManyField('Table')
添加到表格Activity
。您应该使用model serializer在数据库中创建对象