日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

解決django框架model中外鍵不落實到數據庫問題

瀏覽:62日期:2024-10-03 11:18:33

在外鍵字段的參數中添加db_constraint=False即可,數據庫中沒有外鍵關系,代碼中依然可以按照正常外鍵方式使用。

例如:

class User(models.Model): name = models.CharField(max_length=255) room = models.ForeignKey(Room, db_constraint=False)class Room(models.Model): status = models.IntegerField(default=1)

補充知識:Django不通過外鍵查詢多對多的數據,數據庫表設計不使用外鍵

終于解決了 如何沒有通過外鍵查詢多對多的數據,多對一數據

意義: 使用外鍵,高并發的程序中會產生鎖表,影響性能。為了未來的數據庫擴展,數據庫設計時考慮使用外鍵,但在實際數據庫設計時,將外鍵的實現放在邏輯層控制。

全部的表都是單表

解決的辦法是通過SerializerMethodField自定義字段來實現。

model 定義,無外鍵

# -*- coding:UTF-8 -*-from django.db import models#導入django自帶的User模型進行擴展from django.contrib.auth.models import AbstractUser class Role(models.Model): ''' 用戶角色 ''' role_name = models.CharField(max_length=100,verbose_name='角色名',help_text='角色名') class Meta: verbose_name = '角色' verbose_name_plural = verbose_name #用于指定不同的app使用不同的數據庫 # app_label = 'users' #使用自定義指定的表明jt_role db_table = 'jt_role' def __str__(self): return self.role_name class Department(models.Model): ''' 部門 ''' depat_name = models.CharField(max_length=64, verbose_name='部門名稱', help_text='部門名稱') class Meta: verbose_name = '部門' verbose_name_plural = verbose_name #用于指定不同的app使用不同的數據庫 # app_label = 'users' #使用自定義指定的表明jt_role db_table = 'jt_department' def __str__(self): return self.depat_name class UserProfile(models.Model): ''' 在Django的User模型上進行拓展,id字段使用id ''' name = models.CharField(max_length=64, verbose_name='姓名') depat_id = models.IntegerField(verbose_name='部門id') class Meta: verbose_name = '用戶' verbose_name_plural = verbose_name #用于指定不同的app使用不同的數據庫 # app_label = 'users' db_table = 'jt_users' class UserRole(models.Model): ''' 用戶角色關系,為提高性能,不使用manytomany來實現 ''' user_id = models.IntegerField(verbose_name='用戶id') role_id = models.IntegerField(verbose_name='角色id') is_delete = models.BooleanField(verbose_name='是否邏輯刪除', default=False) class Meta: verbose_name = '用戶角色關系' verbose_name_plural = verbose_name # 使用自定義指定的表明jt_user_role db_table = 'jt_user_role'

serializers文件定義

from rest_framework import serializersfrom .models import UserRole,UserProfile,Role,Department class UserDetailSerializer(serializers.Serializer): ''' 用戶詳情序列表類 ''' name = serializers.CharField() depat_name = serializers.SerializerMethodField() roles = serializers.SerializerMethodField() class Meta: model = UserProfile fields = ('name', 'depat_name','roles') #重點中的重點 def get_roles(self, obj): ''' 自定義獲取多對多數據 :param obj: 當前user的實例 :return: 當前用戶的全部角色(數組) :思路:先通過當前的用戶,查詢用戶角色關系表,獲得全部的角色id,再通過角色id獲得角色名 ''' user = obj role_ids = UserRole.objects.filter(user_id__exact=user.id).values_list(’role_id’).all() roles = Role.objects.filter(id__in=role_ids).all() ret = [ ] for item in roles: ret.append(item.role_name) return ret def get_depat_name(self,obj): ''' 獲取部門名稱 :param obj: 當前user的實例 :return: 當前用戶所在部門名稱 ''' user = obj depat_name = Department.objects.filter(id = user.depat_id)[0].depat_name return depat_name

解決django框架model中外鍵不落實到數據庫問題

以上這篇解決django框架model中外鍵不落實到數據庫問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本在线不卡视频| 图片区亚洲欧美小说区| 午夜国产一区二区| 成人福利视频| 日韩一区电影| 欧美gv在线| 欧美日韩一二| 午夜欧美精品久久久久久久| 激情婷婷久久| 狠狠爱成人网| 久久福利一区| 日韩激情网站| 在线观看一区| 青青草91视频| 麻豆高清免费国产一区| 成人在线观看免费视频| 国产麻豆精品| 欧美一级网站| 国产黄色一区| 国产色99精品9i| 7777精品| 青草久久视频| 精品免费视频| 成人在线丰满少妇av| 欧美激情国产在线| 精品三级国产| 国产a久久精品一区二区三区| 日韩av电影一区| 日韩高清欧美激情| 91精品国产自产在线丝袜啪| 四虎在线精品| 国产丝袜一区| 久久中文精品| 91av亚洲| 伊人精品在线| 中文字幕一区日韩精品| 日韩福利视频导航| 国产精品日本一区二区不卡视频| 国产免费播放一区二区| 国产亚洲精品精品国产亚洲综合| 国产欧美一区二区精品久久久 | 日韩美女一区二区三区在线观看| 97精品国产| 韩国精品主播一区二区在线观看 | 国产精品国码视频| 久久av影视| 国产aⅴ精品一区二区四区| 97精品国产一区二区三区| 久久男人天堂| 欧美日韩国产在线一区| 蜜桃久久av一区| 五月亚洲婷婷| 日韩精品久久久久久久软件91| 日本成人在线视频网站| 国产精品调教| 日本不卡免费高清视频在线| 亚洲二区精品| 亚洲综合激情在线| 国产精品国码视频| 精精国产xxxx视频在线野外| 久久福利影视| 国产精品久久久一区二区| a国产在线视频| 九九综合在线| 日韩国产在线不卡视频| 麻豆国产精品一区二区三区| 久久久久91| 国产精品呻吟| 国产精品三级| 99视频精品全国免费| 日韩精品一二三四| 欧美另类中文字幕 | 香蕉久久99| 免费日韩av| 国产日韩免费| 日韩高清中文字幕一区二区| 美女91精品| 久久精品国产精品亚洲毛片| 亚洲男女av一区二区| 欧美视频二区| av资源亚洲| 国产亚洲激情| 国产经典一区| 日韩视频中文| 精品国产aⅴ| 久久天堂av| 日韩专区在线视频| 久久av免费| 激情婷婷久久| 日本亚洲欧美天堂免费| 99久久夜色精品国产亚洲狼 | 国户精品久久久久久久久久久不卡 | 国产精品亚洲一区二区三区在线观看| 国产精品日韩欧美一区| 精品久久久网| 日本不卡视频在线| 成人自拍av| 国产欧美日韩影院| 亚洲电影在线一区二区三区| 国内精品伊人| 日本综合视频| 国产高清久久| 国产精品115| 久久久久久夜| 亚洲一区二区三区高清不卡| 国产图片一区| 成人看片网站| 91伊人久久| 日韩电影免费网址| 欧美日韩一区二区国产| 在线国产一区| 国产精选在线| 91av一区| 视频一区二区中文字幕| 日韩欧美一区二区三区免费看| 欧美日韩调教| 午夜在线一区| 四虎影视精品| 国产一区国产二区国产三区| 亚洲综合婷婷| 午夜影院欧美| 久久久噜噜噜| 麻豆精品蜜桃视频网站| 亚洲一区有码| 欧美特黄一区| 国产亚洲一区二区手机在线观看| 国产精品男女| 日韩1区2区3区| 免费精品视频| 在线国产一区二区| 成人精品天堂一区二区三区| 福利一区和二区| 国产极品模特精品一二| 日韩精品免费一区二区夜夜嗨 | 蜜桃av.网站在线观看| 日韩一区二区三区四区五区| 欧美日韩激情| 精品国产免费人成网站| 欧美国产中文高清| 国产亚洲精品精品国产亚洲综合| 亚洲人成高清| 欧美国产91| 久久国产精品成人免费观看的软件| 国产精品红桃| 国产亚洲精品美女久久| 奇米亚洲欧美| 青青草国产精品亚洲专区无| 亚洲日产国产精品| 亚洲91在线| 中文字幕成人| 亚洲精品大全| 亚洲啊v在线免费视频| 亚洲一区二区三区无吗| 香蕉视频成人在线观看| 亚洲一区二区三区高清| 好看的亚洲午夜视频在线| 欧美日韩亚洲在线观看| 99精品国产一区二区三区| 国产+成+人+亚洲欧洲在线| 久久精品伊人| 国产成人黄色| 97精品在线| 999国产精品永久免费视频app| 久久久成人网| 午夜久久美女| 日韩一区精品视频| 日韩欧美中文字幕在线视频| 国产日韩视频在线| 精品网站999| av综合电影网站| 久久精品官网| 免费日韩精品中文字幕视频在线| 中文字幕一区二区三区四区久久| 国产午夜精品一区二区三区欧美| 亚洲综合另类| 日本成人在线不卡视频| 国产精品天天看天天狠| 精品一区视频| 99久久99视频只有精品| 中国女人久久久| 日韩欧美激情| 精品一区二区男人吃奶 | 免费欧美日韩| 日韩精品欧美精品| 免费在线日韩av| 麻豆成全视频免费观看在线看| 超级白嫩亚洲国产第一| 999久久久亚洲| 亚洲一区二区三区高清| 亚久久调教视频| 麻豆精品在线观看| 日韩电影免费网址| 国产精品外国| 国产日韩欧美三级| 综合日韩av| 不卡av一区二区| 亚洲精品系列| 麻豆免费精品视频| 麻豆理论在线观看| 99久久久久国产精品|