我的Django应用程序上有以下视图,我需要更新一个对象
status_id
是一个ForeignKey
字段,它有一些默认值通过fixture加载
def stopObject(request, id_object):
object = Object.objects.get(id=id_object)
object.status_id = 1
object.save()
我得到了一个classic 的错误,我需要分配对象,而不是它的ID.有无数的问题在SO上,关于这个问题,但我来寻找一个我没有找到的答案
我非常清楚,我可以从数据库中执行一次提取并分配给status
,但我想探索其他可能性,即使它们可能不是最佳实践,
编辑分享模型:
class Status(models.Model):
id = models.AutoField(primary_key=True)
description = models.CharField(max_length=32, unique=True)
class Object(models.Model):
id = models.AutoField(primary_key=True)
status_id = models.ForeignKey(Status,
db_column="status_id",
default=3,
null=True,
blank=True,
related_name='objects',
on_delete=models.SET_NULL)
# other fields