首页 > 解决方案 > Django中与多对多关系相关的问题

问题描述

我正在创建用户名和 User_edu 之间的关系,这是 model.py 的双向代码

from django.db import models 
class username(models.Model):
    name=models.CharField(max_length=100)
class user_edu(models.Model):
    qualification=models.CharField(max_length=100)
    clgname=models.CharField(max_length=100)
    marks=models.CharField(max_length=100)
    year_of_graduation=models.CharField(max_length=100)
    uname=models.ManyToManyField(username)

在views.py

viewue = user_edu.objects.all()
if request.method == 'POST':
    obj = username.objects.get(id=id)
    uq = user_edu.objects.get(id=request.POST['qualification'])
    uc = user_edu.objects.get(id=request.POST['clgname'])
    um = user_edu.objects.get(id=request.POST['marks'])
    uy = user_edu.objects.get(id=request.POST['year_of_graduation'])
    uq.uname.add(obj)
    uc.uname.add(obj)
    um.uname.add(obj)
    uy.uname.add(obj)
    uq.save()
    uc.save()
    um.save()
    uy.save()
    return render(request, 'data.html', {'user_edu_all': viewue})
else:
    obj = username.objects.get(id=id)
    return render(request, 'data.html', {'user_edu_all': viewue})

我正在尝试这样做,用户将首先在一个网页中注册名称,并且他们将在另一个页面中提供教育的详细信息如何关联用户和教育详细信息

标签: djangodjango-modelsdjango-viewsdjango-templates

解决方案


您需要使用模型关系。查看文档https://docs.djangoproject.com/en/3.0/topics/db/models/

特别是多对一(外键)关系。https://docs.djangoproject.com/en/3.0/topics/db/examples/many_to_one/


推荐阅读