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']
У меня в запросе нет идентификатора адвоката, в моем запросе указан только адрес электронной почты и название сессии.
Мне нужно создать несколько объектов с помощью сериализатора сеанса, но как спасти юриста с помощью отправленного электронного письма?
🤔 А знаете ли вы, что...
В Python есть инструменты для тестирования кода, такие как библиотека unittest.
все, что вам нужно, это создать Lawyer
, также вы должны установить для параметра allow null значение true для поля laweyer
.
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