Python系列视频教程: Django【13讲】第九讲 数据库使用多对一映射
2014-02-12 22:05
951 查看
Python系列视频教程: Django【13讲】第九讲 数据库使用多对一映射
三种关系
many2one
many2many
one2one
我们今天着重看看many2one
python %django_home%\bin\django-admin.py startproject csvt04
cd csvt04
python %django_home%\bin\django-admin.py startapp blog
修改models.py
from django.db import models
# Create your models here.
class Entry(models.Model):
name=models.CharField(max_length=30)
def __unicode__(self):
return self.name
class Blog(models.Model):
name=models.CharField(max_length=30)
#many2one(Blog:Entry)
entry=models.ForeignKey(Entry)
def __unicode__(self):
return self.name
D:\test\mysite\csvt04>python manage.py syncdb
下面操作数据
D:\test\mysite\csvt04>python manage.py shell
Python 2.7.2 (default, Jun 24 2011, 12:21:10) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from blog.models import Entry,Blog
>>> entry1=Entry.objects.create(name='alen')
>>> entry1
<Entry: alen>
>>> entry2=Entry.objects.create(name='max')
>>> entry3=Entry.objects.create(name='carl')
>>> blog1=Blog.objects.create(name='alen_blog 1',entry=entry1)
>>> blog1
<Blog: alen_blog 1>
>>> blog2=Blog.objects.create(name='alen_blog 2',entry=entry1)
>>> blog2
<Blog: alen_blog 2>
>>>
>>> blog1.entry
<Entry: alen>
>>> blog2.entry
<Entry: alen>
>>> entry1.blog_set
<django.db.models.fields.related.RelatedManager object at 0x019C52D0>
>>> entry1.blog_set.all()
[<Blog: alen_blog 1>, <Blog: alen_blog 2>]
>>>
注意这里使用了blog_set
我们在命令中完成了,如何在web界面里面显示这些呢?
下面一节再见
三种关系
many2one
many2many
one2one
我们今天着重看看many2one
python %django_home%\bin\django-admin.py startproject csvt04
cd csvt04
python %django_home%\bin\django-admin.py startapp blog
修改models.py
from django.db import models
# Create your models here.
class Entry(models.Model):
name=models.CharField(max_length=30)
def __unicode__(self):
return self.name
class Blog(models.Model):
name=models.CharField(max_length=30)
#many2one(Blog:Entry)
entry=models.ForeignKey(Entry)
def __unicode__(self):
return self.name
D:\test\mysite\csvt04>python manage.py syncdb
下面操作数据
D:\test\mysite\csvt04>python manage.py shell
Python 2.7.2 (default, Jun 24 2011, 12:21:10) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from blog.models import Entry,Blog
>>> entry1=Entry.objects.create(name='alen')
>>> entry1
<Entry: alen>
>>> entry2=Entry.objects.create(name='max')
>>> entry3=Entry.objects.create(name='carl')
>>> blog1=Blog.objects.create(name='alen_blog 1',entry=entry1)
>>> blog1
<Blog: alen_blog 1>
>>> blog2=Blog.objects.create(name='alen_blog 2',entry=entry1)
>>> blog2
<Blog: alen_blog 2>
>>>
>>> blog1.entry
<Entry: alen>
>>> blog2.entry
<Entry: alen>
>>> entry1.blog_set
<django.db.models.fields.related.RelatedManager object at 0x019C52D0>
>>> entry1.blog_set.all()
[<Blog: alen_blog 1>, <Blog: alen_blog 2>]
>>>
注意这里使用了blog_set
我们在命令中完成了,如何在web界面里面显示这些呢?
下面一节再见
相关文章推荐
- Python系列视频教程: Django【13讲】第七讲 数据库使用1
- Python系列视频教程: Django【13讲】第八讲 数据库使用2
- Python系列视频教程: Django【13讲】第11讲 数据库多对多映射
- Python系列视频教程: Django【13讲】第六讲 模板基本使用
- Python系列视频教程: Django【13讲】第13讲 表单使用
- Python系列视频教程: Django【13讲】第三讲 模板变量的使用
- Python系列视频教程: Django【13讲】第四讲 运算符-表达式
- Python系列视频教程: Django【13讲】第五讲 URL配置
- Python系列视频教程: Django【13讲】第十讲 数据库管理
- Python系列视频教程: Django【13讲】第12讲 数据展示
- Python系列视频教程: Django【13讲】第一讲 Django安装
- Python系列视频教程: Django【13讲】第二讲 模板文件的导入
- Python+Django+SAE系列教程13-----MySQL记录的添\删\改
- Python Twisted系列教程13:使用Deferred新功能实现新客户端
- Python的Django框架中使用SQLAlchemy操作数据库的教程
- Python+Django+SAE系列教程13-----MySQL记录的添\删\改
- Python+Django+SAE系列教程5-----使用存储器cpickle
- python框架之django使用系列教程(1),原创,转载请注明出处
- Python的Django框架中使用SQLAlchemy操作数据库的教程
- python应用系列教程——python使用SocketServer实现网络服务器,socket实现客户端