テーブルで配列を使用しようとしていますが、配列にまだ値が含まれていない場合にのみ、配列に値を挿入したいと考えています。ここでのパフォーマンスに最適なアプローチが何であるかはわかりません。
「モデル.py」
class Documents(models.Model):
documentID = models.AutoField(primary_key=True)
class VisibleDocuments(models.Model):
visibleTo = models.ForeignKey(UserProfile, null=True)
documents = ListField()
ドキュメントを visibleDocuments に追加するときは、次のようにします。
「views.py」
visibleDocuments.documents.append(document.documentID)
visibleDocuments.save()
ただし、この方法の問題は、リスト内で documentID が重複することです。一意の documentID のみが必要です。Djangoでそれを行う最良の方法は何だろうか? おそらくセットを使用できますか、それともある種のソートされた読み取りアクセスを使用する必要がありますか?
前もって感謝します!
解決策: SetField を使用する
class VisibleDocuments(models.Model):
visibleTo = models.ForeignKey(UserProfile, null=True)
documents = SetField()
ビュー.py
visibleDocuments.documents.add(document.documentID)
visibleDocuments.save()
みんなに感謝!