1. 程式人生 > >Django Orm 前端中跨表操作

Django Orm 前端中跨表操作

需求:傳入文章,要求獲得對應文章的使用者資訊,如使用者郵箱。

模型:

class Article(models.Model):
    '''
    文章詳細
    '''
    nid = models.BigAutoField(primary_key=True)
    title = models.CharField(verbose_name='文章標題',max_length=128)
    summary = models.CharField(verbose_name='文章簡介',max_length=255)
    read_count = models.IntegerField(default=0)
    comment_count = models.IntegerField(default=0)
    up_count = models.IntegerField(default=0)
    down_count = models.IntegerField(default=0)
    create_time = models.DateTimeField(verbose_name='建立時間',auto_now_add=True)
    blog = models.ForeignKey(verbose_name='所屬部落格',to='Blog',to_field='nid')
    # category = models.ForeignKey(verbose_name='文章型別',to='Category',to_field='nid',null=True)

class Blog(models.Model):
    '''
    部落格資訊
    '''
    nid = models.BigAutoField(primary_key=True)
    title = models.CharField(verbose_name='個人部落格標題',max_length=64)
    site = models.CharField(verbose_name='個人部落格字首', max_length=32, unique=True)
    user = models.OneToOneField(to='UserInfo',to_field='nid')
class UserInfo(models.Model):
    '''
    使用者表
    '''
    nid = models.BigAutoField(primary_key=True)
    username = models.CharField(verbose_name='使用者名稱',max_length=32,unique=True)
    password = models.CharField(verbose_name='密碼',max_length=64)
    nickname = models.CharField(verbose_name='暱稱',max_length=32)
    email = models.EmailField(verbose_name='郵箱',unique=True)
    avatar = models.ImageField(verbose_name='頭像',null=True)

    create_time = models.DateTimeField(verbose_name='註冊時間',auto_now_add=True)

後端傳入:
def index(request):
    all_articles = models.Article.objects.filter().order_by('-create_time')
    return render(request,'index.html',{'all_articles':all_articles})


前端操作查詢:
<a href="/{{ post.blog.site }}.html"><div>提問者:{{ post.blog.user.email }}</div></a>

相關推薦

Django Orm 前端操作

需求:傳入文章,要求獲得對應文章的使用者資訊,如使用者郵箱。 模型: class Article(models.Model): ''' 文章詳細 ''' nid = models.BigAutoField(primary_key=True)

DjangoORM操作

Django 跨表查詢 F Q一、準備數據庫models.py文件內容:from django.db import models # Create your models here. class Book(models.Model): title=models.CharField(max_l

DjangoORM操作(聚合查詢,分組查詢,F和Q查詢等)

一:建立表 書籍模型: 書籍有書名和出版日期,一本書可能會有多個作者,一個作者也可以寫多本書,所以作者和書籍的關係就是多對多的關聯關係(many-to-many);         一本書只應該由一個出版商出版,所以出版商和書籍是一對多關聯關係(one-to-many)。

Django-website 程序案例系列-18 多操作優化

query n-n none plain pro 三種 wrap 減少 緩存 詳解Django的 select_related 和 prefetch_related 函數對 QuerySet 查詢的優化 在數據庫有外鍵的時候,使用 select_related() 和

Django框架學習筆記(14.一對多操作

繼續上次的Django工程,在資料庫中加入一些資料: 在views.py加入: def host(request): v1 = models.Host.objects.filter(nid_

web框架開發-Django模型層(2)-多操作

增加 關系模型 進行 true ... 匹配條件 西遊記 port 覆寫 很重要,都是精華多表關系模型一對一一旦確定表關系是一對一,在兩張表中的任意一張表中建立關聯字段+Unique一對多一旦確定表關系是一對多,創建關聯字段在多的表中多對多一旦確定表關系是多對多,創建第三章

django模型層2 多操作

digits 名稱 alt req 最大 app 聚合 員工 postgre 1.多表操作:   1.創建模型: 實例:我們來假定下面這些概念,字段和關系 作者模型:一個作者有姓名和年齡。 作者詳細模型:把作者的詳情放到詳情表,包含生日,手機號,家庭住址等信息。作者

Django的model建立

類中的class Meta欄位的作用:     第一個作用可以給這個類起名字 在後臺的admin中顯示這個類名字 class CourseCategory(models.Model): """課程大類, e.g 前端 後端...""" name = mo

JDBC上關於資料庫操作一對多關係和多對多關係的實現方法--轉

  原文地址---- https://www.cnblogs.com/pangguoming/p/7028322.html 黑馬程式設計師 我們知道,在設計一個Java bean的時候,要把這些BEAN 的資料存放在資料庫中的表結構,然而這些資料庫中的表直接又有些特殊

Django 模型層之多操作

一.建立模型 例項: 作者表: 擁有欄位:姓名(name),性別(sex),該表與書籍表之間為多對多的關係 作者詳情表: 擁有欄位:地址(addr),手機號(phone),該表與作者表之間為一對一的關係 出版社表: 擁有欄位:名字(name),地址(addr),該表與書籍表之間為一

Django模型層之多操作

一、建立多表模型 例項: 作者表: 擁有欄位:姓名(name),性別(sex),該表與書籍表之間為多對多的關係 作者詳情表: 擁有欄位:地址(addr),手機號(phone),該表與作者表之間為一對一的關係 出版社表: 擁有欄位:名字(name),地址(addr),該表與書籍

c# 分析SQL語句操作

最近寫了很多方向的總結和demo.基本包含了工作中的很多方面,畢竟c#已經高度封裝並且提供了很多類庫。前面已經總結了博文。最近2天突然感覺前面的SQL分析阻元件的確麻煩,也注意看了下。為了方便大家學習交流。自己專門另外寫了一個元件demo.用正則表示式獲取操作型別,其實原理很簡單,我簡單介紹下,算是為大家提供

Django模型層(多操作

創建 gif 唯一性 add 技術分享 pri 生成 res 自動 創建模型 (一)多表查詢 一對一:models.OneToOneField(to_field=‘id‘,to=‘Authordatil‘) 一對多:(外鍵設置唯一性) m

Django模型層之單操作

MVC或者MVC框架中包括一個重要的部分,就是ORM,它實現了資料模型與資料庫的解耦,即資料模型的設計不需要依賴於特定的資料庫,通過簡單的配置就可以輕鬆更換資料庫。ORM是“物件-關係-對映”的簡稱。 sql中的表 # 建立表 create TABLE employee(

libevent單鏈操作

#include <stdio.h> #ifdef QUEUE_MACRO_DEBUG /* Store the last 2 places the queue element or head was altered */ struct qm_trace {   &

Django之模型層-多操作

自動 int its 數量 val foreign 編寫 ces first 多表操作 數據庫表關系 一對多:兩個表之間的關系一旦確定為一對多,必須在數據多的表中創建關聯字段 多對多:兩個表之間的關系一定確定為多對多,必須創建第三張表(關聯表) 一對一:一旦兩個表之間的關

Django----ORM 對錶單的操作

---恢復內容開始--- --------------------------------- ---------- 單表操作 --------------------------------- 向資料庫的表單中新增內容的兩種方式 def addbook(request): # b=Bo

Django----ORM 對錶單的操作2

--------------------------------- ---------- 單表操作 --------------------------------- 向資料庫的表單中新增內容的兩種方式 def addbook(request): # b=Book(name="pytho

R操作學習[轉載]

 轉自:https://www.jianshu.com/p/a7af4f6e50c3  1.原始資料 以上是原有的一個,再生成一個新的: > gene_exp_tidy2 <- data.frame(GeneId = rep("gene5", times = 3

Django框架開發避免單重複提交

Form表單做為web2.0時代的重要角色,也是我們與web網站進行資料互動的重要渠道,但是大家在web網站開發過程中,都會遇到一個問題,那就是如何避免表單重複提交,我們可不確定使用者可在提交了一個表單後,是否有足夠的耐心等待我們的程式載入完成,如果此時使用者不耐煩的在前臺重複重新整理頁面,那麼就會