真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

django中如何實(shí)現(xiàn)擴(kuò)展user用戶字段inlines方式-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)django中如何實(shí)現(xiàn)擴(kuò)展user用戶字段inlines方式,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)公司歡迎咨詢:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁制作領(lǐng)域10年,包括自拌料攪拌車等多個(gè)領(lǐng)域擁有多年的網(wǎng)站營銷經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)公司,為企業(yè)保駕護(hù)航!

model:

class Profile(models.Model):
 user = models.OneToOneField(User, on_delete=models.CASCADE, verbose_name='昵稱')
 nickname = models.CharField(max_length=20)
 
 def __str__(self):
  return '' % (self.nickname, self.user.username)

admin.py

from django.contrib import admin
from django.contrib.auth.models import User
from .models import Profile
 
 
class ProfileInline(admin.StackedInline): #將Profile加入到Admin的user表中,內(nèi)聯(lián)
 model = Profile
 can_delete = False
 
class UserAdmin(admin.ModelAdmin):
 inlines = [ProfileInline]
 list_display = ('username', 'nickname', 'email', 'is_staff', 'is_active', 'is_superuser')
 
 def nickname(self, obj):
  return obj.profile.nickname #自定義字段顯示信息
 
 nickname.short_description = '昵稱'
 
# Re-register UserAdmin
admin.site.unregister(User) #去掉在admin中的注冊
admin.site.register(User, UserAdmin) #用UserAdmin注冊user

補(bǔ)充知識:Django model onetoonefield的工作模式

onetonoefield,就是一對一機(jī)制,每一條信息對應(yīng)其他關(guān)聯(lián)表的一條信息,記錄標(biāo)識為信息的id,且該鍵為主鍵

用法:

1、取值

例:User為Django自帶User表,需要關(guān)聯(lián)詳細(xì)信息表,類為UserBaseMsg(表名為user_base_msg)和另外一張表的員工狀態(tài)信息,類為UserWorkMsg(表名為user_work_msg),且在關(guān)聯(lián)表中的值為user

如果取詳細(xì)信息表重的a字段的值和工作信息表中的b字段

user = User.objects.get(***)

a = user.userbasemsg.a

b = user.userworkmsg.b

篩選a = c的User信息

user = User.objects.get(UserBaseMsg__a=c)

此處get還可以換成filter、exclude等條件

在UserBaseMsg__a后可加各種條件查詢

常用的有

__in = # 所篩選的條件在給的范圍內(nèi)

__gt = # 篩選的大于指定的值

__gte = # 篩選的大于等于指定的值

__lt = # 篩選的值小于指定的值

__lte = # 篩選的值小于等于指定的值

關(guān)于“django中如何實(shí)現(xiàn)擴(kuò)展user用戶字段inlines方式”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。


網(wǎng)站名稱:django中如何實(shí)現(xiàn)擴(kuò)展user用戶字段inlines方式-創(chuàng)新互聯(lián)
本文地址:http://weahome.cn/article/dgpcgc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部