我在Django中编写了基本的模型序列化器,其中api模仿了数据模型 . 我现在需要将用户首选项存储在数据库中 . api包含一个数组 .
我的用户模型:
class User(models.Model):
email_id = models.EmailField(max_length=80, blank=True, primary_key=True)
class UserPreference(models.Model)
email_id = models.ForeignKey('User')
preference = models.CharField(maxlength=20)
一个理想的json post请求看起来像这样
{
email:"abhishek@gmail.com"
preference : [ 'books', 'food', 'lifestyle', 'travel']
}
我希望将此json架构保存到 UserPreference
模型中 . 这需要多个插入优先 . 什么是良好的序列化设计呢?
我试过了
class UserPreferenceSerializer(serializers.ModelSerializer):
class Meta:
model = UserPreference
fields = ('email_id', 'preference')
2 回答
你可以像这样制作你的模型:
然后将自定义create方法添加到序列化程序:
你可以使用Django Rest Framework的
StringRelatedField
.进行以下更改,您将以您希望的方式获得响应 .
models.py(把相关名称放在那里)
serializers.py