django - 在django中选择进程数时重复客户端和进程创建
问题描述
这是我在这个 html 中的 html 文件,我在 DB 中获得了保存的客户端和进程列表,当时得到了重复。
html
<tbody>
{% for object in emp_obj %}
<tr>
<td>
{{ object.process.client }}<br />
</td>
<td>
{% for obj in emp_obj %}
{% if obj.process.client == object.process.client %}
{{ obj.process.process }}<br />
{% endif %}
{% endfor %}
</td>
</tr>
{% endfor %}
</tbody>
在 views.py 中,我根据 Emp_Profile ID 获取 Emp_Process 列表并将 emp_object 传递给模板
视图.py
def Emp_CP_View(request, id):
emp = Emp_Profile.objects.get(pk=id)
print(emp)
emp_obj = Emp_Process.objects.filter(username = emp)
print(emp_obj)
return render(request, 'employee_view.html',{'emp_obj' : emp_obj})
模型.py
我的项目中有 7 个模型
class Department(models.Model):
Name = models.CharField(max_length=50)
def __str__(self):
return self.Name
class Meta:
db_table = 'department'
class Designation(models.Model):
Name = models.CharField(max_length=50)
department = models.ForeignKey(Department, on_delete=models.CASCADE)
def __str__(self):
return self.Name
class Meta:
db_table = 'desingnation'
class Emp_Profile(AbstractUser):
Mobile_Number = models.IntegerField(null=True,blank=True)
department = models.ForeignKey(Department, null=True, blank=True, on_delete=models.CASCADE)
designation = models.ForeignKey(Designation, null=True, blank=True, on_delete=models.CASCADE)
def __str__(self):
return self.username
class Meta:
db_table = 'emp_table'
class Process(models.Model):
Name = models.CharField(max_length=50)
def __str__(self):
return self.Name
class Meta:
db_table : 'process'
class Client(models.Model):
Name = models.CharField(max_length=50, unique=True)
def __str__(self):
return self.Name
class Meta:
db_table : 'client'
class Client_Process(models.Model):
process = models.ForeignKey(Process, on_delete=models.CASCADE)
client = models.ForeignKey(Client, on_delete=models.CASCADE)
class Meta:
db_table : 'client_process'
class Emp_Process(models.Model):
username = models.ForeignKey(Emp_Profile, on_delete=models.CASCADE)
process = models.ForeignKey(Client_Process, on_delete=models.CASCADE)
class Meta:
db_table : 'emp_process'
解决方案
推荐阅读
- ios - 如何快速将点视图添加到文本中?
- python-3.x - 对于图像 hsplit 工作但 vsplit 在 python 中不工作
- typo3-9.x - tx_news 不会回退到正确的语言
- sql-server - T-SQL:使用 OR 条件和空检查的 Where 子句
- vega-lite - Vega lite:如何更改值标签
- python - 我该如何解决这个“推送被拒绝,无法编译 Python 应用程序”。!Heroku中的“推送失败”错误
- python - Matplotlib:FuncAnimation 停止后如何添加绘图?
- python - 混合int和str键时对字典值的不同访问时间
- javascript - MongoDB 嵌套聚合查找
- typescript - 在 vuex-module-decorators 的 @ModuleAction 中使用状态