models.model类中的Django默认模型字段
我有一门课:models.model类中的Django默认模型字段,django,django-models,Django,Django Models,我有一门课: class Something(models.Model): field1 = Charfield() field2 = Charfield() field3 = Integerfield() 我想给每个注册了一些默认模型的用户。好的 default_something = [ {'field1':'char1', 'field2':'char2', 'field3':'int1', }, {
class Something(models.Model):
field1 = Charfield()
field2 = Charfield()
field3 = Integerfield()
我想给每个注册了一些默认模型的用户。好的
default_something = [
{'field1':'char1',
'field2':'char2',
'field3':'int1',
},
{'field1':'char3',
'field2':'char4',
'field3':'int2',
}]
现在我想在类的save方法中根据代码中的名称引用默认值。。。但是它应该只选择默认的,而不是那些用户可能已经添加了相同名称的
因此,我保留了一个额外的字段field4,它保留了一个整数(默认的\u id),然后我可以根据这个默认的\u id进行选择
这是最好的方法吗?或者应该如何操作?您不需要第四个字段,您可以获得该字段的默认值,例如
field1
,如下所示:
field1 = Something._meta.get_field_by_name('field1')
field1.default
但是,如果用户创建的字段具有相同的名称,该怎么办?或者我应该确保用户不能创建同名的字段“创建字段”是什么意思?我认为您的用户无法轻松地在数据库中创建字段I抱歉,如果用户创建了一个模型实例,其中field1具有相同的值,您将一次处理一个对象,如果一个对象的field1为空,那么该对象将具有与其他对象相同的默认值。用一个词-你只能为一个字段定义一个默认值。啊,这不是我想要的,我有不同的默认值,应该在用户注册时创建。