第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何從views.py中的數(shù)據(jù)庫(kù)中獲取內(nèi)容?

如何從views.py中的數(shù)據(jù)庫(kù)中獲取內(nèi)容?

米脂 2023-07-05 16:37:29
我正在嘗試打印content數(shù)據(jù)庫(kù)中的字段,這是我的models.py文件:class Post(models.Model):    title = models.CharField(max_length=100)    content = models.TextField()    read_time = models.TimeField(null=True, blank=True)    view_count = models.IntegerField(default=0)這是我的views.py文件:-class PostDetailView(DetailView):    model = Post    def get_object(self):        obj = super().get_object()        obj.view_count += 1        obj.save()        return obj        def get_context_data(self, **kwargs):        context = super().get_context_data(**kwargs)        all_texts = {            'texts': context.content        }        print(all_texts[texts])        return context我正在嘗試從數(shù)據(jù)庫(kù)中訪問(wèn)字段中的所有數(shù)據(jù)content,但是上述方法不起作用,有什么方法可以訪問(wèn)字段中的所有數(shù)據(jù)content,因?yàn)槲冶仨殞?duì)這些字段執(zhí)行一些操作,例如計(jì)算任何內(nèi)容的長(zhǎng)度read_time,基于其長(zhǎng)度。
查看完整描述

3 回答

?
12345678_0001

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊

您不必為此重寫方法 [Django-doc],因?yàn)樵搶?duì)象已經(jīng)傳遞到上下文.get_queryset(…)。您可以簡(jiǎn)單地在模板中渲染它:

{{ object.content }}

如果您確實(shí)在上下文中需要它,您可以將其實(shí)現(xiàn)為:


class PostDetailView(DetailView):

? ? model = Post

? ??

? ? # …

? ??

? ? def get_context_data(self, **kwargs):

? ? ? ? context = super().get_context_data(**kwargs)

? ? ? ? context.update(

? ? ? ? ? ? texts=self.object.content

? ? ? ? )

? ? ? ? return context

如果您需要所有帖子對(duì)象,您可以將它們添加到上下文中:


class PostDetailView(DetailView):

? ? model = Post

? ??

? ? # …

? ??

? ? def get_context_data(self, **kwargs):

? ? ? ? context = super().get_context_data(**kwargs)

? ? ? ? context.update(

? ? ? ? ? ? texts=self.object.content,

? ? ? ? ? ? posts=Post.objects.all()

? ? ? ? )

? ? ? ? return context

并將它們呈現(xiàn)為:


{% for post in posts %}

? ? {{ post.content }}

{% endfor %}

在增加視圖計(jì)數(shù)器以避免競(jìng)爭(zhēng)條件時(shí),最好使用表達(dá)式F[Django-doc]:

class PostDetailView(DetailView): model = Post def get_object(self): obj = super().get_object() 視圖 = obj.view_count obj.view_count =?F('view_count') + 1?obj.save() obj.view_count =視圖+1?返回 obj


查看完整回答
反對(duì) 回復(fù) 2023-07-05
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

只需查詢所有對(duì)象并循環(huán)查詢集即可根據(jù)您的需要操作它們,如下所示:


def your_view(self, **kwargs):


    # Get all table entries of Model Post

    queryset = Post.objects.all()


    # Loop each object in the queryset

    for object in queryset:


    # Do some logic

        print(object.content)


    [...]

    return (..., ...)


查看完整回答
反對(duì) 回復(fù) 2023-07-05
?
手掌心

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊

首批進(jìn)口車型

from . models import Post

然后在你的函數(shù)中

data=Post.objects.values('content').all()

現(xiàn)在 data 具有內(nèi)容字段 data=[{'content':first_value},{'content':second_value},..like this...] 中的所有值


查看完整回答
反對(duì) 回復(fù) 2023-07-05
  • 3 回答
  • 0 關(guān)注
  • 189 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)