0
我想知道是否有可能像做以下Django的外键的新模型实例作为默认
class ModelA(models.Model):
my_field = models.ForeignKey('UniqueKey', to_field='key' default=UniqueKey.create(key=KeyGen()))
# KeyGen() returns a new random key
从本质上说,我有一些有一个唯一的32位密钥作为一个模型他们的领域。我创建了UniqueKey
模型来管理所有这些密钥,并确保不会出现重复。我试图做的是创建一个新的UniqueKey
实例,并在创建新的ModelA
实例时将其保存到数据库。
这是可能的还是我只是在这个错误的方式?
@MosesKoledoye你的意思是这将是一个糟糕的形式,有一个数据库条目,就像一个捕获所有,然后有一个外键的默认值是该捕获所有条目的ID? –
如果默认值在迁移时可序列化,它应该可以工作。看看这个:https://docs.djangoproject.com/en/1.9/topics/migrations/#serializing-values –
@MosesKoledoye ahhhhhh,我忘记了默认值实际上将成为数据库中的默认值并且数据库不会知道如何创建新的模型实例。 –