Django model 中meta options之 abstract】的更多相关文章

当abstract=True时,这个model就变成了abstrct base class,那这个基类有什么特性呢? 当某一model中设置了abstract=True时,就会使该model中的字段都不会产生对应的表,而是可以作为基类加入到其他model中 那有什么用呢? 有时多个model有些相同的字段,这样很浪费时间,而且重复本身也不利于代码简洁.好该abstract来了 看官例: from django.db import models class CommonInfo(models.Mo…
之前学了abstract,这是后续的一些options app_label: app_label的作用是:如果一个model定义不在INSTALLED_APPS中,那么此时就需要声明,这个model的属于哪个app,例如:app_label="myapp" db_table: 这个在之前的那个abstract中也讲过,就是指定database中表名 get_latest_by: model中可排序的字段名,如:DateField, DateTimeField, IntegerField…
Django model 中的 class Meta 详解 通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(models.Model): bar = models.CharField(maxlength=) class Meta: # ... Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项, admin 选项等等. 下面是所有可能用到的 Meta 选项. 没有一个选项是必需的.…
Django model中 双向关联问题,求帮助 - 开源中国社区 Django model中 双向关联问题,求帮助…
Django 通过 models 实现数据库的创建.修改.删除等操作,本文为模型中一般常用的类型的清单,便于查询和使用: AutoField:一个自动递增的整型字段,添加记录时它会自动增长.你通常不需要直接使用这个字段:如果你不指定主键的话,系统会自动添加一个主键字段到你的model.(参阅自动主键字段) BooleanField:布尔字段,管理工具里会自动将其描述为checkbox. CharField:字符串字段,单行输入,用于较短的字符串,如要保存大量文本, 使用 TextField,Ch…
先给结论吧:在Django model的操作函数中,obj.save()后再执行return obj会返回obj的ID. 看例子: ... def create_session(self,bind_host_obj,random_tag): session_obj = models.SessionRecord( user = self.user, bind_host = bind_host_obj, rand_tag = random_tag ) session_obj.save() retur…
通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(models.Model): bar = models.CharField(maxlength=30) class Meta: # ... Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项, admin 选项等等. 下面是所有可能用到的 Meta 选项. 没有一个选项是必需的. 是否添加 class Meta 到你的 model 完全…
通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样: class Foo(models.Model): bar = models.CharField(maxlength=30) class Meta: # ... Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项, admin 选项等等. 下面是所有可能用到的 Meta 选项. 没有一个选项是必需的. 是否添加 class Meta 到你的 model 完全…
1.Meta元数据 代码示例: class Foo(models.Model): bar = models.CharField(maxlength=30) class Meta: # ... Meta元数据的作用是,表明"不是一个字段",比如排序项等. 下面列出了所有的Meta选项 2.app_label 指明model实体,对应的应用,默认为当前应用 app_lable = 'myapp' 3.table_name 指定自定义数据库表明,默认会使用app_label+'_'+mode…
class Meta: ordering = ['-num', 'length'] verbose_name = 'name' verbose_name_plural = 'names' ordering:排序,(注意这里排序是要消耗数据库运算的), "-num"是按num降序排列,然后接着按length 升序排列. verbose_name: 便于人识读的名字,单数形式 verbose_name_plural: 同上,但是是复数形式,如果不指定,系统默认是在后面加上“s” 还有两人只…
AutoField :自增,数据库 BooleanField:布尔型 CharField:字符型 DateField:日期,datetime.date类的实例.有两个常用的option,auto_now,即默认为保存时的时间;auto_now_add,即默认创建时的时间. DateTimeField:datetime.datetime类的实例. EmailField:实质是一个CharField,但会检查是否是一个合格的Email IntegerField:整型 TextField:文本 Tim…
首先介绍下django的模型有哪些属性:先看例子: Django 模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.以下对此作一总结: abstract 这个属性是定义当前的模型类是不是一个抽象类.所谓抽象类是不会对应数据库表的.一般我们用它来归纳一些公共属性字段,然后继承它的子类可以继承这些字段.比如下面的代码中Human是一个抽象类,Employee是一个继承了Human的子类,那么在运行syncdb命令时,不会生成Human表,但是会生成一个Employee表,它包…
Django中model部分的写法, 参见 unique-together 部分文档. class MyModel(models.Model): field1 = models.CharField(max_length=50) field2 = models.CharField(max_length=50) class Meta: unique_together = ('field1', 'field2',) 对应到 MySQL 中的 SQL , 类似如下的语句 CREATE UNIQUE IN…
class MyForm(forms.ModelForm): realname = forms.CharField() phone = forms.CharField() class Meta: model = MyUser fields = ('phone',) form = MyForm() # 照样会输出realname form.as_table() fields 是把MyUser 中的字段拿过来,你用什么就拿什么 比如MyUser 中有realname , phone 两个字段,在My…
有两个数据模型栏目模型和文章模型ArticleColumn和ArticlePost ArticleColumn: class ArticleColumn(models.Model): # 用户与栏目是“一对多”关系,所以用ForeignKey,一个用户可以设置多个栏目,此处的user字段对应实际表中的user_id,来自于User表中主键 user = models.ForeignKey(User, related_name='article_column') column = models.C…
一.model的定义: from django.db import models # Create your models here. class Person(models.Model): first_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100) genders=[ ('M','男'), ('W','女'), ] gender=models.CharField(max_l…
在Django中需要向数据库中插入多条数据(list).使用如下方法,每次save()的时候都会访问一次数据库.导致性能问题: for i in resultlist: p = Account(name=i) p.save() 在django1.4以后加入了新的特性.使用django.db.models.query.QuerySet.bulk_create()批量创建对象,减少SQL查询次数.改进如下: querysetlist=[] for i in resultlist: querysetl…
Model.save(force_insert=False, force_update=False, using=DEFAULT_DB_ALIAS, update_fields=None) id和pk 如果一个model里没有显示声明哪一个字段(field)是主键(即在某个字段里声明primary_key=True),则django会自动生成一个名为id的AutoFields作为主键.model里的主键都有一个别名叫做pk(primary_key的缩写),无论这个主键是自动生成的还是我们指定的.…
如下app:ywreport下存在model:Game: class Game(models.Model): name = models.CharField(u'游戏名称',max_length=30) gameid = models.CharField(u'游戏id',max_length=20) def __unicode__(self): return self.name 现在要取到Game这个model中有哪些字段已经这些字段的verbose_name from django.db.mo…
来自:https://blog.csdn.net/ding_312/article/details/81264910 class Cart(models.Model): user = models.ForeignKey( MyUser, verbose_name="用户" ) goods = models.ForeignKey( Goods, verbose_name="商品" ) num = models.IntegerField( verbose_name=&q…
参考: https://www.cnblogs.com/ccorz/p/Django-model-zhong-shu-ju-pi-liang-dao-rubulkcreat.html import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "toupiao.settings") import django django.setup() ## 方法1: 串行创建 # def main(): # from ap…
django的get()方法是从数据库的取得一个匹配的结果,返回一个对象,如果记录不存在的话,它会报错. django的filter()方法是从数据库的取得匹配的结果,返回一个对象列表,如果记录不存在的话,它会返回[].…
Django 资源 与 知识 Django中自建脚本并使用Django环境 model中的save()方法说明 filter()用法 2018/11/06 Chenxin 资料说明 Django基础入门 http://www.liujiangblog.com/blog/36/ 版本2.1.3 Django晋级教程 http://www.liujiangblog.com/course/django/2 版本1.11.6 其中的"综合篇"里有不少是实际项目会碰到的问题.实战里有个开源的CM…
Django model是django框架中处于比较核心的一个部位,准备分三个博客从不同的方面分别进行阐述,本文为<上篇>,主要对[a]Model的基本流程,比如它的创建,迁移等:默认行为,以及用定制的行为来覆盖默认的行为:迁移文件相关的操作,比如不同的创建迁移文件的方法,对迁移文件进行重命名,将多个迁移文件压缩成一个迁移文件,迁移文件中的变量的含义,以及迁移文件的回滚[b]数据类型,不同model之间的关系,以及对model的事务管理[c]一些用于减轻数据库与model之间交互作业的工具,比…
Django Model field reference学习总结(一) 本文档包含所有字段选项(field options)的内部细节和Django已经提供的field types. Field 选项 下列参数对所有字段类型都是有效的,同时这些参数也是可选的. null Field.null 如果为True,Django就会将空值(empty)存储为数据库中的NULL.默认值是False. 要注意空字符串(empty string)通常不将其用于字符型字段上,比如CharField,TextFi…
可用的 Meta 选项 abstract Options.abstract 如果 abstract = True ,这个 model 就是一个 抽象基类 . app_label Options.app_label 如果一个 model 定义在默认的 models.py 之外 (例如,如果你的 app 的 models 在 myapp.models 子模块下),你必须定义 app_label 让 Django 知道它属于哪一个 app app_label = 'myapp' db_table Op…
关联关系字段 (Relationship fields) ForeignKey,ManyToManyField与OneToOneField分别在Model中定义多对一,多对多,一对一关系. 例如,一本书由一家出版社出版,一家出版社可以出版很多书.一本书由多个作者合写,一个作者可以写很多书. class Author(models.Model): name=models.CharField(max_length=20) class Publisher(models.Model): name=mod…
ForeignKey,ManyToManyField与OneToOneField分别在Model中定义多对一,多对多,一对一关系. 例如,一本书由一家出版社出版,一家出版社可以出版很多书.一本书由多个作者合写,一个作者可以写很多书. 1 2 3 4 5 6 7 8 class Author(models.Model):     name=models.CharField(max_length=20) class Publisher(models.Model):     name=models.C…
之前写过这样一个model: class MonthlyFeeMember(models.Model): worker = models.ForeignKey(Student, verbose_name=u"主检查人", related_name="as_monthly_fee_members") month = models.CharField(u'检查月份', max_length=10, default=get_current_month()) check_d…
众所周知,在django的model中,可以某些字段设置@property和setter deleter getter,这样就可以在存入数据的时候进行一些操作,具体原理请参见廖雪峰大神的博客https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820062641f3bcc60a4b164f8d91df476445697b9e000 可是在我的实现中,如果在数据库中实现了s…