django ForeignKey的使用
生活随笔
收集整理的這篇文章主要介紹了
django ForeignKey的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ForeignKey,ManyToManyField與OneToOneField分別在Model中定義多對一,多對多,一對一關系。
ForeignKey
加入數據庫中要建立兩張表,userlist和UserTpye。
Userlist表的字段有
| 1 | ['username','password','Gender','Age','memo','TypeID'] |
UserType表的字段有
| 1 | ['name] |
這里的name值只有三個,管理員,超級管理員,普通用戶。
現在希望Userlist和UserType兩張表關聯起來,即Userlist中有一個TypeID的字段,其值為UserType表的限定的三個值。也就是說Userlist中TypeID只能為管理員、超級管理員或者普通用戶
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #coding:utf8 from?django.db?import?models class?Userlist(models.Model): ????username?=?models.CharField(max_length=50) ????password?=?models.CharField(max_length=50) ????male?=?{ ????????('man',?u'男'), ????????('woman',?u'女'), ????} ????Gender?=?models.CharField(max_length=50,blank=True, ??????????????????????????????choices=male) ????Age?=?models.IntegerField(default?=?'20') ????memo?=?models.TextField(default?=?'xxx') ????#CreateDate?=?models.DateTimeField(default='2012-1-2?12:00') ????TypeID?=?models.ForeignKey('UserType') class?UserType(models.Model): ????name?=?models.CharField(max_length=50) ????def?__unicode__(self): ????????return?self.name |
這里UserType 返回的是name信息,是為了在后臺管理界面中,在編輯Userlist表時,UserType字段顯示UserType對象的name屬性,即“管理員,超級管理員,普通用戶”
admin.py代碼:
| 1 2 3 4 5 6 7 8 9 10 11 | from?django.contrib?import?admin from?learn.models?import?* #?Register?your?models?here. class?UserlistAdmin(admin.ModelAdmin): ????list_display?=?['username','password','Gender','Age','memo','TypeID'] admin.site.register(Userlist,UserlistAdmin) class?UserTypeAdmin(admin.ModelAdmin): ????list_display?=?['name','id'] admin.site.register(UserType,UserTypeAdmin) |
這里UserType表顯示了id字段,默認每張表都有id字段,并且是自增的。
本文轉自 曾哥最愛 51CTO博客,原文鏈接:http://blog.51cto.com/zengestudy/1901751,如需轉載請自行聯系原作者
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的django ForeignKey的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android进阶笔记:AIDL内部实现
- 下一篇: 美媒看衰马斯克超级高铁:纽约到华盛顿挖隧