私のDjangoモデル、Dishes and Likesには次のテーブルがあります。私のホームページでは、データベース内のすべての料理のリストを表示しており、各料理に「いいね」ボタンがあります。ユーザーが気に入った料理の場合は、既に気に入っていることを示して、気に入らなかったり、その逆もできるようにしたいと考えています。ここ数日、さまざまなアプローチを試みてきましたが、何も理解できないようです。これが私の最近の失敗した試みのコードです。
#dishes table
class Dishes(models.Model):
name = models.CharField(max_length=40, unique=True)
def liked(dish, user):
try:
user_upvoted = Likes.objects.get(dish=dish, user=user)
except:
user_upvoted = None
if user_upvoted:
return True
else:
return False
#upvotes
class Likes(models.Model):
dish = models.ForeignKey(Dishes)
user = models.ForeignKey(User)
date_added = models.DateTimeField(auto_now_add=True)
def home(request):
this_user = auth.models.User.objects.get(id=1)
dishes = models.Dishes.objects.all()
for dish in dishes:
models.Dishes.voted(dish, this_user)
`enter code here`return render_to_response('frontend/home.html', { 'dishes': dishes, })