说明:本文由@易枭寒(Email:yixiaohan121318@gmail.com QQ:499065469)搜索整理,转载请注明出处,和作者信息。
创建app
D:\courses\django\project2\mysite>python manage.py startapp polls
编写model:
from django.db import models
# Create your models here.
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
检测sql语法正确否:
运行:D:\courses\django\project2\mysite>python manage.py sql polls
会报错,为什么呢?
因为我们没有将 polls 这个app安装到 settings.py 中的 INSTALAPP里
将其添加就OK了。
再次执行同步数据库命令(因为添加新的app了)
与shell交互:
修改models文件,显示的时候可以显示出内容,而不是对象
再次查看,Poll.objects.all()的结果就很友好了:
写自己定义的方法:
from django.db import models
import datetime
from django.utils import timezone
# Create your models here.
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
def __unicode__(self):
return self.choice
再次进入shell
和数据相关的一些方法(增删改查。过滤器等)。注意 单下划线和双下划线: