有人可以说我错了吗?
我有两个模型:项目和目的。
class Purpose(models.Model):
code = models.UUIDField(_('Code'), primary_key=True, default=uuid.uuid4, editable=False)
project = models.ForeignKey(Project, on_delete=models.CASCADE)
text = models.TextField(_('Text'))
comments = models.ManyToManyField("Comment")
每个项目只有一个目的。因此,在project_detail
页面中,我只想在该项目没有任何其他目的对象时显示purpose_add
按钮。当没有具有相同project_code
的目标对象时,为什么我看不到按钮?
views.py:
def project_detail(request, project_code):
***
purpose_is_not_exist = Purpose.objects.exclude(project=project_code).exists()
***
project_detail.html:
{% if purpose_is_not_exist %}
<button id="purpose-add-button"></button>
{% endif %}
答案 0 :(得分:1)
with open(a_file, 'r') as my_file:
for line in my_file:
line_number += 1
if line_number == 1060 or line_number == 1061:
print(line)
你应该否定虚假布尔。
答案 1 :(得分:1)
混淆是由变量名purpose_is_not_exist
引起的。
Purpose.objects.exclude(project=project_code).exists()
上面的语句返回Purpose
对象是否存在。您应将变量重命名为purpose_exists
以避免混淆。
并且,在模板中当你想要添加按钮时,如果它不存在则取消变量:
{% if not purpose_exists %}
或者,如果您想继续使用变量的原始名称,那么只需在视图中否定。
purpose_is_not_exist = not Purpose.objects.exclude(project=project_code).exists()