我正在共享一个虚拟代码,希望自己尽可能清楚。
1.我有一个这样的模型
from django.db.models import Model, CharField, IntegerField, DateField
class Account(Model):
name = CharField(max_length=30, null=False, blank=False, unique=True)
rank = IntegerField(null=True, blank=True)
date = DateField(null=True, blank=True)
2. 我在 django 中有这样的数据库设置
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'TEST',
'HOST': 'localhost'
}
}
3.运行模型迁移命令后,在 django shell 中,我将两个对象(文档)添加到配置的 TEST DB 中,如下所示
In [1]: from dummy.models import Account
In [2]: Account.objects.create(name="Sai")
Out[2]: <Account: Sai>
In [3]: Account.objects.create(name="Ravi", rank=1)
Out[3]: <Account: Ravi>
4.当我签入 Mongodb CLI 时,我也得到了空值
> db.dummy_account.find().pretty();
{
"_id" : ObjectId("5e4f54939069175d6ed7890e"),
"id" : 1,
"name" : "Sai",
"rank" : null,
"date" : null
}
{
"_id" : ObjectId("5e4f54a89069175d6ed7890f"),
"id" : 2,
"name" : "Ravi",
"rank" : 1,
"date" : null
}
问:(不应存储具有 null 的字段)我需要做什么才能获得这样的预期结果?
> db.dummy_account.find().pretty();
{
"_id" : ObjectId("5e4f54939069175d6ed7890e"),
"id" : 1,
"name" : "Sai"
}
{
"_id" : ObjectId("5e4f54a89069175d6ed7890f"),
"id" : 2,
"name" : "Ravi",
"rank" : 1
}