(姜戈)安装灯具"rules.json"时出现问题:'NoneType'对象没有属性'id'



我正试图用下一个命令用fixture填充我的数据库:

python。\manage.py加载数据。\rules\fixtures\rules.json

但我得到了下一个错误:

AttributeError:安装夹具"C:\Users\Ángel"时出现问题-Trabajo\Documents\AVC。\rules\fixtures\rules.json":"NoneType"对象没有属性"id">

这是我的型号:

class Rule(LogsMixin, models.Model):
"""Definición de modelo para Reglas"""
FIELDS = [
('user_name', 'Nombre de usuario'),
('user_code', 'Codigo de usuario')
]
string = models.CharField("Cadena de referencia", max_length=100, null=False, default="", blank=False)
profile = models.ForeignKey(Profile, null=False, default=None, on_delete=models.DO_NOTHING)
license = models.ForeignKey(License, null=False, default=None, on_delete=models.DO_NOTHING)
field = models.CharField("Campo objetivo", max_length=50, default='nombre_usuario', choices=FIELDS)
include = models.BooleanField("Incluye", null=False, default=True)
order = models.IntegerField("Orden", null=True, default=None)
uppercase_sensitive = models.BooleanField("Sensible a las mayúsculas", null=False, default=False)
dateadded = models.DateTimeField("Fecha de inserción", default=datetime.datetime.now)

这是我的json:

[
{
"model":"rules.rule",
"pk":null,
"fields":{
"string": "DINAMITZADORA",
"profile": "1",
"license": "1",
"field": "user_name",
"include": "1",
"order": "0",
"uppercase_sensitive": "0"
}
},
{
"model":"rules.rule",
"pk":null,
"fields":{
"string": "adm",
"profile": "1",
"license": "1",
"field": "user_name",
"include": "1",
"order": "0",
"uppercase_sensitive": "0"
}
},
{
"model":"rules.rule",
"pk":null,
"fields":{
"string": "admin",
"profile": "1",
"license": "1",
"field": "user_name",
"include": "1",
"order": "0",
"uppercase_sensitive": "0"
}
},
{
"model":"rules.rule",
"pk":null,
"fields":{
"string": "alum",
"profile": "1",
"license": "1",
"field": "user_name",
"include": "1",
"order": "0",
"uppercase_sensitive": "0"
}
},
]

我试过在我的设置.py中申报FIXTURE_DIRS,但没有成功。我试着在json中只让一个元素(它有80个(,以防它有一些值,但它都不起作用。

我完全迷路了,你能帮我吗?

谢谢大家:(

您自己键入这个json了吗?

如何做到这一点,我从一个干净的数据库开始,然后通过网络界面添加一些数据,然后执行以下命令:

python .manage.py dumpdata your_appname --indent 4 > .rulesfixturesrules.json

因此,稍后当您有一个空数据库时,您可以使用命令再次加载数据:

python .manage.py loaddata .rulesfixturesrules.json

如果在loaddata之后指定路径,则会忽略FIXTURE_DIRS,因此不应在settings.py文件中设置该路径。

保存固定装置的最佳实践是在your_app/fixtures/somename.json位置。但我认为情况是这样的,因为我认为你的应用程序被称为规则?

如果你这样做,django就会知道在哪里找,你可以直接输入,而不是提供整个路径。

python .manage.py loaddata some_name.json

相关内容

  • 没有找到相关文章

最新更新