首页 > 代码库 > Django笔记-模型(二)
Django笔记-模型(二)
新建project步骤省略,具体可参照http://5007260.blog.51cto.com/4997260/1310954
1、基础篇
cd /app/shenpi python manage.py startapp #data 模型需要建一个独立的app python manage.py validate #检测model.py是否存在语法错误 python manage.py sqlall data #(存放model.py app名字) python manage.py syncdb#真正建表的动作 python manage.py dbshell#这个命令将依据`` DATABASE_SERVER`` 的里设置自动检测使用哪种命令行客户端直接进入数据库会话 #module.py from django.db import models class Publisher(models.Model): name = models.CharField(max_length=30) address = models.CharField(max_length=50) city = models.CharField(max_length=60) state_province = models.CharField(max_length=30) country = models.CharField(max_length=50) website = models.URLField() **def __unicode__(self):** **return self.name** class Author(models.Model): first_name = models.CharField(max_length=30) last_name = models.CharField(max_length=40) email = models.EmailField() **def __unicode__(self):** **return u‘%s %s‘ % (self.first_name, self.last_name)** class Book(models.Model): title = models.CharField(max_length=100) authors = models.ManyToManyField(Author) publisher = models.ForeignKey(Publisher) publication_date = models.DateField() **def __unicode__(self):** **return self.title** #查询数据 Publisher.objects.all() #取出模型中Publisher表所有数据 Publisher.objects.order_by("name")#order by 用法,字段前加-name 逆序 Publisher.objects.filter(name=‘Apress‘)#字段where name=‘Apress‘的数据 Publisher.objects.filter(country="U.S.A.", state_province="CA")#多where条件查询 Publisher.objects.filter(name__contains="press")#contains部分会被Django翻译成LIKE语句,等价于下面sql语句 Publisher.objects.order_by(‘name‘)[0]#limit 1用法, #get/filter比较 #filter()函数返回一个记录集,这个记录集是一个列表。get()获取单个的对象 #插入数据 p = Publisher(name=‘Apress‘, ... address=‘2855 Telegraph Ave.‘, ... city=‘Berkeley‘, ... state_province=‘CA‘, ... country=‘U.S.A.‘, ... website=‘ p.save() #更新数据 Publisher.objects.filter(id=52).update(name=‘Apress Publishing‘) Publisher.objects.all().update(country=‘USA‘) #删除数据 Publisher.objects.filter(country=‘USA‘).delete()
2、高级篇
#待续
Django笔记-模型(二)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。