我需要使用get_or_create()之类的东西,但问题是我有很多字段,我不想设置默认值(这无论如何都没有意义),如果我不设置默认值,它会返回一个错误,因为它显然会立即保存对象.
我可以将字段设置为null=True,但我不需要空字段.
是否有任何其他方法或任何额外的参数可以发送给get_or_create(),以便它实例化一个对象,但直到我对其调用save()时才保存该对象?
谢谢你.
我需要使用get_or_create()之类的东西,但问题是我有很多字段,我不想设置默认值(这无论如何都没有意义),如果我不设置默认值,它会返回一个错误,因为它显然会立即保存对象.
我可以将字段设置为null=True,但我不需要空字段.
是否有任何其他方法或任何额外的参数可以发送给get_or_create(),以便它实例化一个对象,但直到我对其调用save()时才保存该对象?
谢谢你.
您只需执行以下操作:
try:
obj = Model.objects.get(**kwargs)
except Model.DoesNotExist:
obj = Model(**dict((k,v) for (k,v) in kwargs.items() if '__' not in k))
这几乎就是get_or_create
人的所作所为,没有人promise .