gpt4 book ai didi

python - 如何创建多个对象以及提供了外键字段的外键?

转载 作者:行者123 更新时间:2023-11-30 22:09:35 26 4
gpt4 key购买 nike

class User(models.Model):
email = models.EmailField()


class Lawyer(models.Model):

user = models.OnetoOneField(User)

class Session(models.Model):

lawyer = models.ForeignKey(Lawyer)

name = models.TextField()


class SessionSerializer(serializers.ModelSerializer):

email = serializers.EmailField()
class Meta:
model = Session
fields=['name', 'lawyer','email']

我的请求中没有律师 ID,我的请求仅包含电子邮件和 session 名称。

我需要使用 session 序列化器创建多个对象,但如何使用传递的电子邮件来保存律师?

最佳答案

您所需要做的就是创建Lawyer,并且您应该将laweyer 字段的allow null 设置为true。

class SessionSerializer(serializers.ModelSerializer):

email = serializers.SerializerMethodField()
lawyer = serializers.IntegerField(allow_null=True, required=False)

fields=['name', 'lawyer','email']

def create(self, validated_data):
user = User.objects.create(email=validated_data.get('email'))
lawyer = Lawyer.objects.create(user=user)
name = validated_data.get('name')
instance = Session.objects.create(lawyer=lawyer, name=name)
return instance

关于python - 如何创建多个对象以及提供了外键字段的外键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51875822/

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