提问人:selvakumar 提问时间:11/16/2023 最后编辑:selvakumar 更新时间:11/16/2023 访问量:35
纠正 Django 中不正确的丝线化
correct incorrect serilization in django
问:
序列化后,我尝试通过连接 3 个表来调用 Django-rest api,然后我遇到了问题 原始异常文本是:“Store”对象没有属性“Storeimage”,我希望通过连接 3 个模型来获取 api。
我的模型
class Store(models.Model):
user = models.ForeignKey(User, default=1, null=True, on_delete=models.SET_NULL)
address = models.ForeignKey(Address, null=True,on_delete=models.CASCADE)
store_name = models.CharField(max_length=255)
store_about = models.CharField(max_length=255,null=True)
store_location = models.CharField( max_length=255)
#store_address = models.TextField()
store_phoneno = models.CharField(max_length=12)
class Storeimage(models.Model):
store = models.ForeignKey(Store, null=True, on_delete=models.SET_NULL)
picture = models.ImageField(upload_to='store_image/%Y/%m/',max_length=255,null=True)
class Address(models.Model):
street = models.TextField()
country = models.ForeignKey(Country, default=1,null=True, on_delete=models.CASCADE)
state = models.ForeignKey(State, default=1,null=True, on_delete=models.CASCADE)
我的合作
class StoreGetSerialiser(serializers.ModelSerializer):
#store_product = StoreproductSerializer(many=True)
address = AddressSerializer()
Storeimage = StoreImage(many=True)
owner = UserPublicSerializer(source='user', read_only=True)
class Meta:
model = Store
fields = [
'pk',
'owner',
'store_name',
'Storeimage',
'store_location',
'address',
'store_phoneno',
'store_website',
]
class StoreImage(serializers.ModelSerializer):
class Meta:
model = Storeimage
fields = '__all__'
我的预期输出:
{
"pk": 2,
"owner": {
"id": 1
},
"store_name": "",
"store_location": "",
"address": {
"id": 14,
"street": "1",
"country": 1,
"state": 1,
"city": 1
},
"store_phoneno": "",
"store_image": [{"pk":1,"picture":"/location/abcd"},{"pk":2,"picture":"/location/abcd"}]
},
答:
3赞
Amin
11/16/2023
#1
Storeimage
是模型的错误名称。用户改为:Store
storeimage_set
class StoreGetSerialiser(serializers.ModelSerializer):
...
storeimage_set = StoreImage(many=True)
class Meta:
model = Store
fields = [
'pk',
'owner',
'store_name',
'storeimage_set',
'store_location',
'address',
'store_phoneno',
'store_website',
]
另请注意,您可以使用 FK 字段中自定义此字段名称。related_name
评论
StoreImage