我正在尝试与我的数据库表建立关系。我现在有一节带三张桌子的辅导课。例如(auth\u user表、partyEvent表、friends表)。你知道吗
现在用户应该可以只创建一个partyEvent。朋友可以加入用户创建的任意数量的partyEvent。 Friends模型中的所有者id告诉partyEvent和用户“Friends”属于谁。你知道吗
我可以限制用户只创建一个partyEvent。但是,当我尝试向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')
可以通过将
serializers.CurrentUserDefault()
指定为序列化程序字段默认值来设置当前用户。以下是doc中的一个示例:相关问题 更多 >
编程相关推荐