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

标签 python mysql django

我正在与数据库中的表建立关系。目前我有一个有 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/

相关文章:

mysql - 在 MySQL 事件中执行多个查询

mysql - 为什么我的查询返回 "Empty set (0.00 sec)"?

python - 做一个好公民和网络抓取

python - 在另一个函数中使用返回值

Python:选择最常用的分组依据

mysql 用 on 条件连接 2 个表,保留一些值

python - django admin 自定义模型管理 url

python - 使用来自用户的 url 的服务器端 urllib2.urlopen 的安全注意事项

python - 用 django rest 散列 token

python - 在 Matplotlib 中注释时间序列图