gpt4 book ai didi

python - Owner_id 不能为空。 DRF关系数据库

转载 作者:行者123 更新时间:2023-11-29 18:54:57 24 4
gpt4 key购买 nike

我正在与数据库中的表建立关系。目前我有一个有 3 张 table 的辅导课。例如(auth_user 表、partyEvent 表、friends 表)。

现在用户应该只能创建一个 partyEvent。好友可以加入任意数量的用户创建的派对事件。Friends 模型中的所有者 ID 告诉 partyEvent 和 User“ friend ”所属。

我可以限制用户只能创建一个 partyEvent。但是,当我尝试将 friend 注册到 partyEvent 时,所有者的 ID 不会发送。相反,默认值是:

owner = models.OneToOneField('auth.User', related_name = 'party', on_delete=models.CASCADE, default='1')

相当发送。为什么会发生这种情况?

模型

class PartyEvent(models.Model):
name = models.CharField(max_length=100, blank=False)
location = models.CharField(max_length=100, blank=False)
owner = models.OneToOneField('auth.User', related_name = 'party', on_delete=models.CASCADE, default='1')

class Friends(models.Model):
name = models.CharField(max_length=100, blank=False)
owner = models.ForeignKey('auth.User',related_name = 'friends', on_delete=models.CASCADE, default='1')

序列化器

class FriendsSerializer(serializers.HyperlinkedModelSerializer):
owner = serializers.ReadOnlyField(source='owner.id')
class Meta:
model = Friends
fields = ('id','name','owner')

最佳答案

序列化器模型中有 ReadOnlyField,这意味着序列化对象在数据库中发布时将排除所有者字段。

关于python - Owner_id 不能为空。 DRF关系数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44195210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com