class Organization_Information(models.Model):
Organization_name = models.CharField(max_length=25)
Organization_address = models.CharField(max_length=40)
Organization_admin = models.OneToOneField(MyUser, on_delete=models.CASCADE, null=True, blank=True)
class Project(models.Model):
project_name = models.CharField(max_length= 25, default='')
project_description = models.CharField(max_length=50)
Org_detiles = models.ForeignKey(Organization_Information, on_delete=models.CASCADE)
class Asset(models.Model):
asset_name = models.CharField(max_length=20, default='')
project_name = models.ForeignKey('Project', on_delete=models.CASCADE)
related = models.ManyToManyField(MyUser)
class Finding(models.Model):
finding_reference_to_asset = models.ForeignKey('Asset', on_delete=models.CASCADE)
related = models.ManyToManyField(MyUser)
finding_name = models.CharField(max_length=100, default='')
recommendation = models.TextField(max_length=3000, default='')
USER'Organization_admin'可以查看所有班级的上班族
用户“研究者”可以查看Organization_Information和ASSigned资产,然后提交查找结果
“”“ 我的看法: “”“
def index(request):
template = loader.get_template('home.html')
context = {
'Organization_Information' : Organization_Information.objects.all(),
'Project' : Project.objects.all(),
'Asset' : Asset.objects.filter(model=Asset),
}
return HttpResponse()
def home(request):
form = Finding_Submit(request.POST)
if form.is_valid():
form.save()
return render(request, 'submit.html', {'form': form})
“”“ 形式 “”“
class Finding_Submit(ModelForm):
class Meta:
model = Finding
fields = [ 'finding_reference_to_asset', 'finding_name', 'recommendation' ]
“”“ 我的模板: “”“
{% extends 'base.html' %}
{% block title %}HOME{% endblock %}
{% block content %}
{% if user.is_authenticated %}
<html>
<head>
<title> Home </title>
</head>
<body>
<cneter> <h4>{{ user.first_name }} {{ user.last_name }}</h4>
<h4> 0rganization Information </h4>
{{user.organization_information.Organization_name}}</h4>
{{user.organization_information.Organization_address }} </h4>
<h2>{{user.organization_information.Organization_admin}}</h2>
<h2> Project </h2>
{% with user.organization_information.project_set.get as orgo %}
<h4> project name: {{ orgo.project_name }} </h4>
<h4>{{orgo.project_description}}</h4>
<h4> ASSET </h4>
{% with orgo.asset_set.get as ass %}
{{ ass.asset_name }}
{{ ass.project_name}}
{{ ass.related}}
{% endwith %}
{%endwith%}
</body>
</html>
<p><a href="{% url 'logout' %}">logout</a></p>
{% else %}
<p>You are not logged in</p>
<a href="{% url 'login' %}">login</a>
{% endif %}
{% endblock %}
“”“模板”“”
的结尾首先,我在尝试返回主页中的multipe资产时遇到问题,
我尝试了Get and Filter和All,但所有这些都让我遇到相同的错误
“ get()返回了多个资产-它返回了2个!”
此外,我无法通过ManyToManyField将资产分配给特定用户
发现也一样
所以真正的#问题:是如何向用户分配资产,以便他 可以查看并向其提交发现
Organization_admin登录时如何显示Multipe资产
谢谢
-