django(python)的模型字段类的实例化问题,新手请教。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django(python)的模型字段类的实例化问题,新手请教。相关的知识,希望对你有一定的参考价值。

是这样的,django在定义一个模型时,我会在模型里定义若干个字段类,这些字段类是作为这个模型类的属性存在的。那么我知道如果要往数据库中插入一条数据的话,只要在django的shell(python界面)上实例化这个模型类就可以了。
那么我的问题是,我实例化这个模型类的时候,怎么给相应的字段类传参数呢?
例如,字段类是CharField(),那么我传入字符串就可以;字段类是IntegerField(),那么我对应传入整数就行。
但是如果字段类是关系类,比如ForiegnKey(anotherModel),那么我是要传入这个anotherModel的对象吗?
另外比如像DateField()、DateTimeField()这样的字段类,需要什么参数来实例化呢?
有没有专门介绍“模型的字段类实例化方法“的资料或者书籍的?

这些东西,都有办法。我都用过。不过,最近不用了。我只能给你一个指引。

在django提供的管理类里admin有所有这些用法。你可以找到它的源代码,自己读一下。

DataField的确需要一个这样的对象来给它才可以向数据库写。

ForiegnKey也的确需要一个已建立好的class。 比如ForiegnKey(anotherModel), anotherModel一定是一个已定义好的class

另外在djangoproject的官网中有丰富的帮助。大部分答案都可以搜索到。追问

谢谢了,不过你还是等于什么都没说。

追答

就算是没有说吧。你找到models里试试看。

不过,这个问题的确不是很难。略略看看源代码及帮助还是能解决的,不是很偏门。

参考技术A 这种情况需要分部执行,只要在数据库commit之前将不能为空的字段初始化即可。python所有库都有源码,看看就知道需要什么参数来实例化。 参考技术B DateField用Python的datetime类型来实例化,ForeignKey就是你说的那样。追问

其他呢,最好给我一个有每个字段的实例化的语法的资料。

追答

没有这样的资料,连DJango官方文档都没有。

以上是关于django(python)的模型字段类的实例化问题,新手请教。的主要内容,如果未能解决你的问题,请参考以下文章

Django中模型类的定义

python django模型内部类meta

django项目模型字段

Django中ORM模型总结[模型类的对应关系,模型类的属性,字段类型]

如何更新 django 模型实例的多个字段?

如何更新 django 模型实例的多个字段?