Python 创建对象时如何定义字段?

Python 创建对象时如何定义字段?,python,django,Python,Django,我正在创建一个这样的对象 order = Order.objects.create(created_by=anon_user,modified_by=anon_user) 我收到一个错误orders\u order.phone不能为NULLphone是属于Order模型的许多字段之一 在创建Order对象时,我(逻辑上)未能包含phone字段 任何建议 Django要求您的电话字段现在不为空。这也意味着您不能传递phone=None,因此,如果要传递到Order对象中的phone变量为None

我正在创建一个这样的对象

order = Order.objects.create(created_by=anon_user,modified_by=anon_user)
我收到一个错误
orders\u order.phone不能为NULL
phone
是属于
Order
模型的许多字段之一

在创建
Order
对象时,我(逻辑上)未能包含
phone
字段


任何建议

Django要求您的电话字段现在不为空。这也意味着您不能传递phone=None,因此,如果要传递到Order对象中的phone变量为None,它将失败

你的选择是:

  • 在模型上设置默认值
  • 在模型上允许null
  • 在创建时将非空值传递给模型

  • 根据您的问题,假设模型要求电话号码在创建时存在

    你能做的事

  • phone\u number=models.PhoneField(null=True,blank=True)
  • phone\u number=models.PhoneField(默认值为6132760547')
  • 那些对模型进行更改的人应该首先说明字段可以是空的,因为在中包含
    空的


    第二个是,如果没有传递任何内容,则默认值为该数字

    在创建对象时包括该字段。使用与我已经回答的问题相同的逻辑。如果您不想在订单模型中传递phone对象,请允许其为空。或者,将这些字段设置为空,并在必要时使用ModelForm强制其存在。@IgnacioVazquez Abrams这就是我想要的帮助,因为我尝试了
    order=order.objects.create(创建人=anon\u user,修改人=anon\u user,电话=phone)
    但失败了。也许我只是不知道如何…,在你发布答案时我已经解决了这个问题,我选择了第二个选项。