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

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

如何避免循環(huán)引用并在Django中編寫DRY代碼

如何避免循環(huán)引用并在Django中編寫DRY代碼

BIG陽 2021-05-14 18:55:36
每當(dāng)我創(chuàng)建以后可以重用的DRY函數(shù),然后在模型中使用它們時(shí),我都會得到循環(huán)引用。例如:我有以下型號:from social.services import get_top_viewed_postsclass Post(models.Model):      customer = models.ForeignKey(Customer, on_delete=models.CASCADE)    title = models.CharField('Post Title', max_length=255) class ActivityUpdateEmail(models.Model):    sent = models.BooleanField(default=False)    created_at = models.DateTimeField(auto_now_add=True)    updated_at = models.DateTimeField(auto_now = True)    def send(self):                posts = get_top_viewed_posts()我查看次數(shù)最多的帖子功能是另一個(gè)名為services.py的文件,因此我可以在其他地方訪問它。看起來像:from social.models import Postdef get_top_viewed_posts():    posts = Post.objects.filter(        pk__in=popular_posts_ids,        ).order_by(                '-created_at'                )    return posts然后我得到錯誤:services.py", line 1, in <module>    from social.models import PostImportError: cannot import name 'Post'如果我將其更改為:交易= Action.objects.filter(content_type__pk = 35,created_at__gte = start_date,).values_list('object_id',flat = True)popular_posts_ids = []popular_posts = Counter(transactions).most_common()[:result_amount]for dic in popular_posts:    popular_posts_ids.append(dic[0])class ActivityUpdateEmail(models.Model):    sent = models.BooleanField(default=False)    created_at = models.DateTimeField(auto_now_add=True)    updated_at = models.DateTimeField(auto_now = True)    def send(self):           posts = Post.objects.filter(              pk__in=popular_posts_ids,         ).order_by(            '-created_at'            )這沒問題。如何使用這種干燥的抽象功能方法,然后在模型中使用它們?
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 195 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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