Python系列视频教程: Django【13讲】第九讲 数据库使用多对一映射

31 篇文章 0 订阅
23 篇文章 0 订阅

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界面里面显示这些呢?

下面一节再见

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值