我正在嘗試更新我的 django 模型中的一些資料但是種類停留在如何獲取特定屬性上。看到我有一個串列名稱 ids = ['112', '111', '114', '113', '115'] 我有一個型號名稱 Member
class Member(models.Model ):
user = models.ForeignKey(Users,verbose_name='User Id', on_delete=models.CASCADE)
com = models.ForeignKey(Committee, on_delete=models.CASCADE,verbose_name='Committee Name')
mem_status = models.CharField( max_length=20,choices=MEMBER_STATUS, verbose_name='Member Status')
mem_note = models.TextField(null=True, blank=True)
mem_order = models.IntegerField(default=0)
所以 ids 中的每個 id 在 Member Model 中都有一個可用的物件,我想要的是像這樣更新每個物件的 mem_order。假設 111 in ids 在第二個索引。我想將 mem id 設定為 111 以在 mem_order 中設定 2。我正在從 Member 表中獲取所有所需的成員現在我不知道如何遍歷這些 id 并將它們與 Member 模型中每個 Member 的 id 匹配。
uj5u.com熱心網友回復:
這可能不是很有效,但我認為它會起作用。
for index, id in enumerate(ids, start=1):
member = Member.objects.get(pk=id)
member.mem_order = index
member.save()
使用 python 的enumerate函式,您可以遍歷 ids 串列的索引和值,然后獲取該串列中具有 id 值的成員。然后將mem_order設定為索引,最后保存。列舉的 start=1 因此串列中的第一項“112”的索引為 1,值為“112”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/420185.html
標籤:
