私は3つのモデルを持っています:
Book
、Topiccenter
およびEntryBook
。
これらはモデル定義です:
class Book(models.Model):
title = models.TextField()
language = models.TextField()
class Topiccenter(models.Model):
title = models.TextField():
description = models.TextField()
class EntryBook(models.Model):
book = models.ForeignKey(Book,related_name="b_entries")
topiccenter = models.ForeignKey(Topiccenter,related_name="tc_books")
今、私はトピックセンターにいT
ます。本を検索し、DB 内のすべての本を取得します。ご覧のとおり、各書籍は複数のトピック センターに存在する可能性があります。
私がやりたいことは、検索結果で、各本が現在のトピックセンターに含まれているかどうかを表示したいということです:
すべての本books = Book.objects.all()
と現在のトピックセンターを取得しtc
、それらをテンプレートとテンプレートにレンダリングします。
{% for book in books %}
{% for entry in book.b_entries.all %}
{% if entry.topiccenter.id == tc.id %}
already in this Topiccenter
{% else %}
add to this topiccenter
{% endif %}
{% endfor %}
{% endfor %}
しかし、問題は、1 つの本が 2 つのトピックセンターにあり、テンプレートで両方を取得していてalready in this Topiccenter
、add to this topiccenter
どちらがナンセンスであるかということです。add
この現在のトピックセンターに本があるかどうかを確認し、そうでない場合はボタンを表示できるようにロジックを修復するにはどうすればよいですか
ありがとう