Djago 自關聯例子 選擇省市縣資訊

2021-09-24 09:27:22 字數 2900 閱讀 4209

models.py

from django.db import models

class

addressinfo

(models.model):""

"省市縣位址資訊"

"" address=models.

charfield

(max_length=

200,

null

=true,blank=true,verbose_name=

"位址"

) pid=models.

foreignkey

('self'

,null

=true,blank=true,verbose_name=

"自關聯"

,on_delete=models.

cascade

) #pid=models.

foreignkey

('addressinfo'

,null

=true,blank=true,verbose_name=

"自關聯"

"主頁"

"" def get

(self,request)

:return

render

(request,

'address.html'

)class

addressapi

(view):""

"位址資訊"

"" def get

(self,request,address_id)

:#接收乙個引數的id,指modde中的pid屬性對應的字段,即表中的pid_id

ifint(address_id)==0

: #為0時表示為查詢省,省的pid_id為null

address_data=addressinfo.objects.

filter

(pid__isnull=true)

.values

('id'

,'address'

)else

: address_data=addressinfo.objects.

filter

(pid_id=

int(address_id)).

values

('id'

,'address'

) area_list=

#轉成list後json序列化

for a in address_data:

area_list.()

#然後通過jsonresponse返回給請求方,這裡是list而不是dict,所以safe需要傳入false

return

jsonresponse

(area_list,content_type=

,safe=false)

urls.py

from django.contrib import admin

from django.urls import path,re_path

from orm.views import addressapi,indexview

urlpatterns =

[path

('admin/'

, admin.site.urls)

,path(''

,indexview.

as_view()

,name=

'index'),

re_path

('address/(\d+)$'

,addressapi.

as_view()

,name=

'address'

)]

address.html

<

!doctype html>

"en"

>

"utf-8"

>

title<

/title>

<

/head>

"pro"

>

"">請選擇省<

/option>

<

/select>

"city"

>

"">請選擇市<

/option>

<

/select>

"dis"

>

"">請選擇縣<

/option>

<

/select>

<

/body>

"">

<

/script>

address

=function

(a,b))}

)};$

(function()

);//根據市的改變查詢縣的資訊

city.

change

(function()

)})<

/script>

<

/html>

MyBatis 自關聯介紹及多對一自關聯查詢的實現

在多對 一 一對多 多對多查詢實際應用中可能會遇到這樣的情況 多個表的內容在乙個表裡,比如下面這個網頁結構 示意圖各個欄目,欄目下有子欄目,子欄目下有孫欄目,但是都屬於新聞欄目,比如我們想通過查詢sn得到下面的子欄目以及孫欄目,就需要用到自關聯查詢。需求 查詢指定欄目及其下面的子欄目 孫欄目。db表...

JPA 自關聯 PO 對映

jpa 自關聯 po對映 資料庫設計 id關聯parent id.實體類設計 cascadetype的各種屬性決定級聯查詢 更新 刪除的方式 manytoone cascade cascadetype.refresh,fetch fetchtype.eager joincolumn name par...

spark 例子 字典關聯1

例子描述 我們在日常工作中,經常會遇到字典關聯的場景,比如 張三,19,1 李四,19,2 王五,19,3 將後面的數字關聯成職業 張三,19,司機 李四,19,廚師 王五,19,警察 這是乙個簡單的場景,往往在實際當中,後面需要關聯的內容是乙個字典表。下面請看例子 片段 建立字典 讀取配置檔案方法...