1. 程式人生 > >Django中的資料庫模型類-models.py(一對一的關係)

Django中的資料庫模型類-models.py(一對一的關係)

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models

# Create your models here.
# 一對一關係:資料庫中兩個表中資料的對應關係
# 一個賬戶對應著一個聯絡人,而一個聯絡人有一個賬戶
# 一對一關係是通過在兩個表之間定義相同的主鍵來完成
class Account(models.Model):
    username = models.CharField(max_length=20, null=True, blank=True, verbose_name
=u'使用者名稱') password = models.CharField(max_length=40, null=True, blank=True, verbose_name=u'密碼') register_date = models.DateField(auto_now_add=True, null=True, blank=True, verbose_name=u'註冊時間') class Meta: db_table = 'Account' # 該函式是負責展示該類物件的詳細資訊的函式,根據需要自定義展示的內容 def __unicode__(self
): return 'Account:%s'%self.username class Contact(models.Model): # Contact中,關聯Account表,讓兩個表的資料產生聯絡 # 第一個引數:是被關聯的模型名稱 # 第二個引數:當Account中的一條資料被刪除的時候,與之對應的Contact資料也會被刪除 account = models.OneToOneField(Account, on_delete=models.CASCADE, primary_key=True) address = models.CharField(max_length
=100, null=True) code = models.CharField(max_length=20, null=True) mobile = models.CharField(max_length=20, null=True) class Meta: db_table = 'Contact' def __unicode__(self): # self.account:通過聯絡人物件反向查詢該資訊所屬的人 return 'Contact:%s-%s-%s'%(self.account.username,self.address,self.mobile) # ORM:關係對映物件,把傳統的SQL語句封裝成了類和物件的形式,在操作表中的資料記錄時,就像在操作類和物件 # 一對一的正向查詢和反向查詢 a1 = Account(username='dawei',password='333') a1.save() c1 = Contact(account=a1,address='xinmi',code='450000',mobile='13212344321') c1.save() print a1.contact# 正向查詢,通過賬戶查詢該賬戶對應的詳細資訊 print c1.account# 反向查詢,通過詳細資訊查詢資訊對應的賬戶 # a1.contact.mobile # a1.contact.address # a1.contact.code # c1.account.username # c1.account.password # 刪除賬戶,對應的聯絡人資訊也會被刪除 # a1.delete()

相關推薦

Django資料庫模型-models.py(一對一關係)

# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models # Create your models here. # 一對一關係:資料庫中兩個表

Django模型models),檢視(views)和模板的區別和應用

模型 任何應用程式的基本,不管是不是Web應用,都是它所展現、收集和修改的資訊。因此,若將應用程式分層,模型(model)將是最底部的一層,它是基礎。檢視和模板可以根據資料進出模型的方式以及表現的形式任意替換,但模型卻相對穩定得多。 從設計整個Web應用的角度來說,模

Django資料庫的建立步驟(models模組的使用)

建立 和 配置資料庫 1).建立資料庫 - webdb create database webdb default charset utf8 collate utf8_general_ci; 2).Django的資料庫配置 在setting

Django資料庫的資料關係一對一,一對多,多對多

一對一: 一對一的關係極為一個數據僅對應一個數據,用下圖的結構圖可以幫助理解: 下面用程式碼實現一下,首先要建立工程專案如下: 接著,我們定義模型: 來到models.py檔案,建立兩個模型: from django.db import models #

DjangoORM模型總結(二)[模型的對應關係模型的屬性,欄位型別]

模型類的對應關係 多對多 建立模型類----->新聞型別類 class TypeInfo(models.Model): """建立新聞模型類""" tname = models.CharField(max_length=20) 建立模型類--

初步學習Django-第六篇:models.py模型定義

one 字符串 arch rim 需要 tof file 排序 tar 一. 上面的代碼中: 1. 每個數據模型都繼承django.db.models.Model。他們的父類Model包含了所有必要的和數據庫交互的方法,並提供了一個簡介漂亮的數據庫定義語法。

Flask定義模型的幾種情況

datetime hash avatar register sso boolean tar review login from datetime import datetime from werkzeug.security import generate_password

Flask模型以及資料的增刪改查操作

總結: 模型類如下: class Role(db.Model): """使用者角色/身份表""" __tablename__ = "tbl_roles" # 表名 # 欄位名 型別 約束 id = db.Colum

django模型查詢

Django中模型查詢 1,定義屬性 Django根據屬性的型別確定以下資訊: 當前選擇的資料庫支援欄位的型別 渲染管理表單時使用的預設html控制元件 在管理站點最低限度的驗證 django會為表建立自動增長的主鍵列,每個模型只能有一個主鍵列,如果使用選項

Django模型關係

一、模型對應關係 說明:針對模型類而言的,在模型中定義屬性(欄位)時完成模型關係的對應。 1、一對一 2、一對多 3、多對對 ----------------------------------------------------------------- 1、一

Django筆記(模型-管理器)

模型類-管理器 作用: 用於與資料庫互動 每個模型類預設有一個管理器,objects objects是Django自動生成的管理器,可以實現對資料的查詢,objects是models.Manger類的一個物件。 為滿足特殊條件,可以自定義管理器 1、修

Django的元Meta

通過一個內嵌類 "class Meta" 給你的 model 定義元資料, 類似下面這樣: class Foo(models.Model): bar = models.CharField(maxlength=30) class Meta:

Django 針對基於的檢視新增 csrf_exempt

在Django中對於基於函式的檢視我們可以 @csrf_exempt 註解來標識一個檢視可以被跨域訪問。那麼對於基於類的檢視,我們應該怎麼辦呢? 簡單來說可以有兩種訪問來解決 方法一:在類的 d

Djangomanger/QuerySet與mysql數據庫的查詢

sta lec 字典 mysql數據庫 tin 反轉 ted isn fence Django中的單表操作 1.精確查詢 #查詢的結果返回是容器Query Set的函數(Query Set模型類)?# 1. all() 查詢的所有的符合條件的結果,支持正向索引,支持

簡單的部落格系統(二)Django編寫資料模型

設計資料庫和表結構是做網站的基礎。在Django中,不需要通過SQL語句直接跟資料庫打交道,而是完全用Python的類來建立資料

hibernate實體之間的一對一關係(轉載)

one-to-one 元素 屬性: name:對映類屬性的名字 class:對映的目標類 cascade:設定操作中的級聯策略 可選值為 all所有操作情況均進行級聯、none所有操作情況均不進行級聯、save-update執行更新操作時級聯、delete執行刪除操作時

php物件,與記憶體的關係

記憶體分為4個部分 資料段,棧段,程式碼段,堆段。 棧是先進後出,而且分配的記憶體很少,但是速度很快,通常用於儲存一些標量,例如(int,string,boolean)因為這些已經知道他的記憶體大小,所以可以直接放到棧中。而物件,陣列等一些不知道大小的變數,那麼就會存放到堆

DjangoORM外來鍵和表的關係(Django程式設計-4)

外來鍵 在MySQL中,表有兩種引擎,一種是InnoDB,另外一種是myisam。如果使用的是InnoDB引擎,是支援外來鍵約束的。外來鍵的存在使得ORM框架在處理表關係的時候異常的強大。因此這裡我們首先來介紹下外來鍵在Django中的使用。 類定義為class ForeignKey(to,on_delete

DjangoMySQL資料庫配置 | ORM模型 | 資料庫遷移操作

配置使用MySQL資料庫,按下圖操作 子應用中寫入ORM模型類 執行資料庫遷移操作:python manage.py makemigrations與python

djangomodels模型的常用數據型和選項

布爾類型 tex etime int 讓我 字符 ace bsp www. django框架的models模塊ORM框架,能夠讓我們通過編寫類的方式,幫助我們自動生成數據庫表。 生成的數據庫表名為 應用模塊名稱_類名 數據庫表中字段名 如果我們沒有在參數中指定,就是我們寫的