gpt4 book ai didi

python - 如何将用户与 django 中的帖子关联起来并根据登录的用户显示数据?

转载 作者:太空宇宙 更新时间:2023-11-03 16:57:19 25 4
gpt4 key购买 nike

我在 django 中有以下代码:

模型.py

from django.db import models
from django.utils.encoding import python_2_unicode_compatible
from django.utils import timezone


class Recipe(models.Model):
title = models.CharField(max_length=100)
ingredients = models.TextField(max_length=200,help_text="Put the ingredients required$")
instructions = models.TextField(max_length=500)



def __unicode__(self):
return self.title

表单.py

from django.contrib import messages
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.shortcuts import render
from .forms import RecipeForm

def add(request):
if request.method == 'POST':
form = RecipeForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect(reverse('app_name:url'))
else:
messages.error(request, "Error")

return render(request, 'page.html', {'form': RecipeForm()})

有谁知道如何将用户 ID 与它关联起来,这样当它保存在数据库中时,它也会保存哪个用户制作了这个菜谱,并且当用户登录时,他只能看到他的菜谱,而不能看到他的菜谱。其他用户保存的食谱。有什么建议吗?

最佳答案

您应该在 Recipe 模型中添加一个 ForeignKey 字段,指向内置的 User 模型:

author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='recipes')

此字段将包含创建配方的用户的id

编辑

如果您有一个user对象,您可以像这样访问它的所有recipes:

user.recipes.all()

您只会获得该用户的食谱。

关于python - 如何将用户与 django 中的帖子关联起来并根据登录的用户显示数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35317788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com