Django在模板中显示多个对象并为其分配

时间:2018-07-25 14:45:13

标签: django python-3.x django-forms django-templates django-views

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资产

  • 很抱歉,很长时间#问题:但是更多的Detiles胜于更少。

谢谢

-

0 个答案:

没有答案