Невозможно присвоить "'имя_пользователя'": "Class.user" должен быть экземпляром "Account_class".

enter image descripЯ получаю эту ошибку, когда пытаюсь сделать запрос сообщенияtion here

Как я могу решить эту проблему?

Вот моя модель:

class Coffee(models.Model):
name = models.CharField(max_length=60)
ratings = models.CharField(max_length=5)
taste = models.TextField()
coffeeType = models.CharField(max_length=60)
price = models.CharField(max_length=60)
img = models.CharField(max_length=200)
updated_at = models.DateTimeField(auto_now_add=True)
shopName = models.CharField(max_length=60)
coffeeShopID = models.CharField(max_length=200)
location = models.CharField(max_length=200)
user = models.ForeignKey(Account, on_delete=models.CASCADE, null=False, blank=False, related_name='user')

def __str__(self):
    return self.name[0:50]

class Meta:
    ordering = ['-updated_at']

Вот сериализатор этой модели:

class CoffeeSerializers(serializers.ModelSerializer):
class Meta:
    model = Coffee
    fields = '__all__'

Здесь представлены мнения для запроса почты:

def addCoffee(request):
data = request.data

coffee = Coffee.objects.create(
    name=data['name'],
    ratings=data['ratings'],
    taste=data['taste'],
    coffeeType=data['coffeeType'],
    price=data['price'],
    img=data['img'],
    shopName=data['shopName'],
    coffeeShopID=data['coffeeShopID'],
    location=data['location'],
    user=data['user']
)

coffee.save()
serializer = CoffeeSerializers(coffee)

return Response(serializer.data)

я могу только предположить, как выглядит ваша модель Account, проблема в том, что вы должны отправить Account модель, но вы отправляете string data['user']

def addCoffee(request):
    data = request.data

    account_object = Account.objects.get(THIS_IS_ACCOUNT_NAME = data['user']) 

    coffee = Coffee.objects.create(
        name=data['name'],
        ratings=data['ratings'],
        taste=data['taste'],
        coffeeType=data['coffeeType'],
        price=data['price'],
        img=data['img'],
        shopName=data['shopName'],
        coffeeShopID=data['coffeeShopID'],
        location=data['location'],
        user=account_object
    )

    coffee.save()
    serializer = CoffeeSerializers(coffee)

    return Response(serializer.data)
Вернуться на верх