Как я могу установить по умолчанию модель, которая уже установлена по умолчанию для CurrentUserDefault()

Я создаю API бара, где пользователи могут создавать свои собственные фракции бара. Мне нужен способ, с помощью которого пользователь создаст контакт бара, который будет автоматически по умолчанию соответствовать бару, который создал пользователь

Я уже пробовал переопределить метод create в моем представлении

models.py

class Bar(models.Model):
    name = models.CharField(max_length=100)
    barOwner = models.OneToOneField(user, on_delete=models.CASCADE)
    secondaryUsers = models.CharField(max_length=255, default='jonathan', null=True)

    def __str__(self):
        return self.name



# Bar contact Info

class StoreContact(models.Model):

    options =(
        ("MTN", "MTN"),
        ("ORANGE","ORANGE"),
        ("NEXTEL", "NEXTEL")
    )
    numberType = models.CharField(max_length=200, choices=options, default='MTN')
    number = PhoneNumberField(blank=True)
    bar = models.ForeignKey(Bar, related_name='contact', on_delete=models.CASCADE)

    def __str__(self):
        return self.numberType

serializers.py

class BarContactSerializer(serializers.ModelSerializer):
    bar = serializers.PrimaryKeyRelatedField(read_only=True)
    


    class Meta:
        model = StoreContact
        fields = ('numberType', 'number', "bar")


class BarSerializer(serializers.ModelSerializer):
    storeOwner = serializers.PrimaryKeyRelatedField(read_only=True, default=serializers.CurrentUserDefault())
    contact = BarContactSerializer(many=True, read_only=True,)


    class Meta:
        model = Bar
        fields = ('name', 'storeOwner','contact')


views.py

class BarContact(generics.ListCreateAPIView):
    queryset = StoreContact.objects.all()
    serializer_class = BarContactSerializer


def perform_create(self, serializer):
    user = self.request.user.id
    try:
        serializer.save(bar_barOwner=user)

    except IntegrityError:
        raise ValidationError('something is wrong')
Вернуться на верх