如何在Django更新语句中将字段设置为null

时间:2018-11-26 20:35:13

标签: python django

我有以下声明:

TrackTitle.objects.filter(pk=tracktitle_id).update(master_id=None)

我从中得到以下错误:

  

FieldDoesNotExist位于/​​ mturk / remove   TrackTitle没有名为“ master_id”的字段

但是,如果我将其更改为字段名称本身(这是一个外键):

TrackTitle.objects.filter(pk=tracktitle_id).update(master=None)

我收到以下错误:

  

int()以10为底的无效文字:“无”

如何在更新语句中将master_id设置为null?

我的模特是:

class TrackTitle(models.Model):
    ...
    master = models.ForeignKey(ItemMaster, blank=True, null=True, on_delete=models.SET_NULL)

1 个答案:

答案 0 :(得分:1)

尝试使用get:

 try:  
   TrackTitle.objects.get(pk=tracktitle_id).update(master=None)
 except ObjectDoesNotExist:
   print("No track with the id")