python--django小白,有个关于多用户提交和数据根据用户过滤的问题?

目前已经写好了登录注册,并可以根据是否登录返回不同内容。问题需求大致是这样:用户登录后,可以在页面提交数据,后台处理返回给前台。用户A提交的数据只能A看到,B提交的数据只... 目前已经写好了登录注册,并可以根据是否登录返回不同内容。
问题需求大致是这样:
用户登录后,可以在页面提交数据,后台处理返回给前台。
用户A提交的数据只能A看到,B提交的数据只能B看到。
多用户之间数据不互通。

请问实现这个功能的原理,以及数据库表结构如何创建?
展开
 我来答
GTA小鸡
高粉答主

2019-07-18 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.3亿
展开全部
  1. 在你的数据表模型中新增一个字段user作为外键指向用户表的id,表示该数据是由哪个用户创建的:

class Data(models.Model):

...  # 其他数据字段

user = models.ForeignKey('User', on_delete=models.CASCADE)

2. 处理请求时,通过request.user获得登录用户,返回该用户提交的所有数据:

def view_func(request):

user = request.user

if user.is_anonymous:

return HttpResponse('请先登录', status=401)

queryset = Data.objects.filter(user=user)

return render(request, 模板, {'queryset': queryset})

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式