91在线一级黄片|91视频在线观看18|成人夜间呦呦网站|91资源欧美日韩超碰|久久最新免费精品视频一区二区三区|国产探花视频在线观看|黄片真人免费三级片毛片|国产人无码视频在线|精品成人影视无码三区|久久视频爱久久免费精品

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Django4.0教程:Django4.0執(zhí)行查詢-復(fù)制模型實(shí)例

盡管沒(méi)有用于復(fù)制模型實(shí)例的內(nèi)置方法,但可以輕松地創(chuàng)建復(fù)制所有字段值的新實(shí)例。在最簡(jiǎn)單的情況下,您可以將 ?pk ?設(shè)置為 ?None ?并將 ?_state.adding? 設(shè)置為 ?True?。使用我們的博客示例:

blog = Blog(name='My blog', tagline='Blogging is easy')
blog.save() # blog.pk == 1

blog.pk = None
blog._state.adding = True
blog.save() # blog.pk == 2

若你使用了集成,事情會(huì)更復(fù)雜??紤]下 ?Blog ?的一個(gè)子類:

class ThemeBlog(Blog):
    theme = models.CharField(max_length=200)

django_blog = ThemeBlog(name='Django', tagline='Django is easy', theme='python')
django_blog.save() # django_blog.pk == 3

由于繼承的工作原理,您必須將 ?pk ?和 ?id ?都設(shè)置為 ?None?,并將 ?_state.adding? 設(shè)置為 ?True?:

django_blog.pk = None
django_blog.id = None
django_blog._state.adding = True
django_blog.save() # django_blog.pk == 4

該方法不會(huì)拷貝不是模型數(shù)據(jù)表中的關(guān)聯(lián)關(guān)系。例如, ?Entry ?有一個(gè)對(duì) ?Author ?的 ?ManyToManyField ?關(guān)聯(lián)關(guān)系。在復(fù)制條目后,你必須為新條目設(shè)置多對(duì)多關(guān)聯(lián)關(guān)系。

entry = Entry.objects.all()[0] # some previous entry
old_authors = entry.authors.all()
entry.pk = None
entry._state.adding = True
entry.save()
entry.authors.set(old_authors)

對(duì)于 ?OneToOneField ?關(guān)聯(lián),你必須拷貝關(guān)聯(lián)對(duì)象,并將其指定給新對(duì)象的關(guān)聯(lián)字段,避免違反一對(duì)一唯一性約束。例如,指定前文復(fù)制的 ?entry?:

detail = EntryDetail.objects.all()[0]
detail.pk = None
detail._state.adding = True
detail.entry = entry
detail.save()


網(wǎng)頁(yè)名稱:創(chuàng)新互聯(lián)Django4.0教程:Django4.0執(zhí)行查詢-復(fù)制模型實(shí)例
本文鏈接:http://m.jiaoqi3.com/article/cogjpso.html