我有这个模型:
class x(model.Models):
name = models.CharField(max_length=50, unique=True)
y = models.ManyToManyField(Y, related_name='y', db_table='x_y',
blank=False,null=False)
和此序列化器:
class Serializer(DynamicFieldsModelSerializer):
class Meta:
model = models.x
fields = '__all__'
当我向该模型发布数据时,我需要设置以下字段:
'name':['some name'],'y':['1','2']
这将在数据库x中使用以下行:
1 |一些名字
和数据库x_y中的两行,其中包含:
2 | 1 | 2
问题是前端不给我发送“ name”和“ y”,而是给我发送“ name”和“ y []”,因此为了获取数据,我需要将其添加到我的序列化器类中:
y= serializers.DictField(child=serializers.IntegerField(min_value=0, max_value=2))
但是结果是x_y表中没有数据。我不知道该怎么解决
答案 0 :(得分:0)
对我来说一个突出的问题是,您正在使用DictField
处理整数列表。
假设整数实际上是Y模型的主键,是否尝试使用y = PrimaryKeyRelatedField(many=True)
?这似乎就像你追求的那样。