擅长:python、mysql、java
<p>所使用的术语是初始数据,正如第一条评论中已经指出的,而不是固定数据。你知道吗</p>
<p>一旦您的应用程序投入生产,就可以编辑或删除初始数据中的条目,以防您在业务逻辑中提供适当的操作。你知道吗</p>
<p>非常重要的一点是,如果您使用以下命令将初始数据作为fixture(JSON、YML等)提供:</p>
<pre><code>python manage.py loaddata path/to/your/data
</code></pre>
<p>不会调用模型方法<code>save</code>。您还有以下字段:</p>
<pre><code>created_timestamp = models.DateTimeField(auto_now_add=True)
</code></pre>
<p>不会自动填充的。这意味着,如果为类<code>Field</code>提供数据,则必须为上述字段提供值:</p>
<p>你的设备可能看起来像这样:</p>
<pre><code>[
{
"model": "app_label.field",
"pk": 1,
"fields": {
"name": "foo",
"created_timestamp": "2018-03-12 12:00:00"
}
},
# further entries
]
</code></pre>
<p>如果主键(“pk”)是自动字段,则可以省略它。然后它将由数据库系统自动填充。你知道吗</p>
<p>如果您在应用程序目录中创建一个目录<code>fixtures</code>,那么您只需调用其名称即可加载该设备。假设你有这样的结构:</p>
<pre><code>- project
- manage.py
- yourapp
- admin.py
- models.py
- fixtures
field.json
</code></pre>
<p>然后你可以做:</p>
<pre><code>python manage.py loaddata field
</code></pre>