我是 Django 的新手,我正在尝试将 Unit 和 current_user 外键保存在基于 pk 的数据库中,但是每次我尝试这样做但遇到两种类型的错误serializers.is_valid()
都会引发异常错误或序列化程序返回"Invalid data. Expected a dictionary, but got Unit."
我已经尝试了一种非常非常丑陋的方法来绕过序列化程序,但我得到 ee8452a4-2a82-4804-a010-cf2f5a41e006 must be an instance of SavedUnit.unit.I 也尝试过直接使用保存外键 SavedUnit.objects.create()
而没有运气
模型.py
class SavedUnit(models.Model):
"""
Saving units for later models
relationship with units and users
"""
id = models.UUIDField(primary_key=True, default=hex_uuid, editable=False)
unit = models.ForeignKey(Unit, on_delete=models.CASCADE)
user = models.ForeignKey('accounts.User', on_delete=models.CASCADE, related_name='user')
published_at = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)
序列化程序.py
class SavedSerializer(serializers.ModelSerializer):
unit = UnitSerializer()
class Meta:
model = SavedUnit
fields = [
'id',
'unit'
]
Run Code Online (Sandbox Code Playgroud)
视图.py …