溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

django ForeignKey的使用

發布時間:2020-06-14 20:55:08 來源:網絡 閱讀:15850 作者:zenge_blog 欄目:開發技術

ForeignKey,ManyToManyField與OneToOneField分別在Model中定義多對一,多對多,一對一關系。


ForeignKey

加入數據庫中要建立兩張表,userlist和UserTpye。

Userlist表的字段有

['username','password','Gender','Age','memo','TypeID']


UserType表的字段有

['name]

這里的name值只有三個,管理員,超級管理員,普通用戶。


現在希望Userlist和UserType兩張表關聯起來,即Userlist中有一個TypeID的字段,其值為UserType表的限定的三個值。也就是說Userlist中TypeID只能為管理員、超級管理員或者普通用戶

#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屬性,即“管理員,超級管理員,普通用戶”

django ForeignKey的使用

admin.py代碼:

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字段,并且是自增的。

django ForeignKey的使用




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女