我正在尝试在表中使用数组,并且仅当数组尚未包含该值时才想将值插入到数组中。我不确定这里的最佳性能方法是什么。
“模型.py”
class Documents(models.Model):
documentID = models.AutoField(primary_key=True)
class VisibleDocuments(models.Model):
visibleTo = models.ForeignKey(UserProfile, null=True)
documents = ListField()
当我将文档添加到 visibleDocuments 时,我执行以下操作:
“意见.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()
谢谢大家!