Python 仅向django中的表数组添加唯一值
我试图在表中使用一个数组,并且仅当数组不包含值时才想将值插入数组。我不确定在这里什么是最佳的绩效方法 “models.py” 将文档添加到visibleDocuments时,我会执行以下操作: “views.py” 但是,这种方法的问题是它会导致列表中的documentid重复。我希望只有唯一的DocumentID。我想知道在Django做这件事的最好方式是什么?我可以使用集合吗?或者我应该使用某种排序读取访问吗 提前谢谢 解决方案:使用设置字段Python 仅向django中的表数组添加唯一值,python,django,pymongo,Python,Django,Pymongo,我试图在表中使用一个数组,并且仅当数组不包含值时才想将值插入数组。我不确定在这里什么是最佳的绩效方法 “models.py” 将文档添加到visibleDocuments时,我会执行以下操作: “views.py” 但是,这种方法的问题是它会导致列表中的documentid重复。我希望只有唯一的DocumentID。我想知道在Django做这件事的最好方式是什么?我可以使用集合吗?或者我应该使用某种排序读取访问吗 提前谢谢 解决方案:使用设置字段 class VisibleDocuments(m
class VisibleDocuments(models.Model):
visibleTo = models.ForeignKey(UserProfile, null=True)
documents = SetField()
views.py
visibleDocuments.documents.append(document.documentID)
visibleDocuments.save()
visibleDocuments.documents.add(document.documentID)
visibleDocuments.save()
谢谢大家 执行此操作的方法:
if document.documentID not in visibleDocuments.documents:
visibleDocuments.documents.append(document.documentID)
如果ListField是DjangoTooBox的Listfield,则应该考虑使用SETFELD。
。你的问题很有帮助,我在上面的链接中找到了setField。谢谢,我刚刚发现并成功地使用了它if document.documentID not in visibleDocuments.documents:
visibleDocuments.documents.append(document.documentID)