У меня есть две проблемы, которые я не могу решить.
Моя первая проблема - я не могу создать новую строку в моей psql базе данных
У меня есть этот код ошибки "Невозможно assign "'536'": "Substitute.substitut" должен быть экземпляром "Food". "
В этой строке: create_substitute_saved = Substitute.objects.create (user = request.user, substitut = substitute_food)
def saved_substitute(request):
substitute_food = request.GET.get('saved_substitute')
create_substitute_saved = Substitute.objects.create(user=request.user, substitut=substitute_food)
create_substitute_saved.save()
return render(request, 'off/substitute_saved.html')
from django.contrib.auth.models import User
class Food(models.Model):
food = models.TextField(max_length=50)
category = models.TextField(max_length=300)
ingredients = models.TextField(max_length=500)
nutriscore = models.TextField(max_length=50, blank=True, null=True)
store = models.TextField(max_length=100, null=True)
link = models.TextField(max_length=100, null=True)
image_product = models.TextField(max_length=100, null=True)
image_ingredients = models.TextField(max_length=100, null=True)
class Meta:
verbose_name = "Aliments"
verbose_name_plural = "Aliments"
def __str__(self):
return '%s'%(self.food)
class Substitute(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
food = models.ForeignKey(Food, on_delete=models.CASCADE, related_name='foods')
substitut = models.ForeignKey(Food, on_delete=models.CASCADE, related_name='substitut')
class Meta:
verbose_name = "Substitut utilisateur"
verbose_name_plural = "Substitut utilisateur"
def __str__(self):
return '%s'%(self.user.username)
Моя вторая проблема в том, что я не могу получить значение переменной "details" из этой части кода
def food_details(request):
details= request.GET.get('details')
foods_details = Food.objects.filter(food__icontains=details)[:1]
return render(request, 'off/food_details.html', {
'foods' : foods_details,
})
Для использования в этой части
def saved_substitute(request):
substitute_food = request.GET.get('saved_substitute')
create_substitute_saved = Substitute.objects.create(user=request.user, food=details, substitut=substitute_food)
create_substitute_saved.save()
return render(request, 'off/substitute_saved.html')