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

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

Django elasticsearch-dsl pre_save上更新M2M

Django elasticsearch-dsl pre_save上更新M2M

Qyouu 2022-09-13 10:08:38
我正在使用django-彈性搜索-dsl包,并且有點進退兩難。這是我的代碼:models.pyclass Source(models.model):    name = models.CharField(max_length=50)class Posting(models.Model):    title = models.CharField(max_length=250)    sources = models.ManyToMany(Sources, related_name="postings", through="PostingSource")class PostingSource(models.Model):    posting = models.ForeignKey(Posting, related_name="posting_sources", on_delete=models.CASCADE)    source = models.ForeignKey(Source, related_name="posting_sources", on_delete=models.CASCADE)documents.pyclass PostingDocument(Document):    sources = fields.ObjectField(properties={"name": fields.KeywordField()})    class Index:        name = "posting"        settings = {"all the settings stuff"}    class Django:        model = Posting        fields = ["title"]        related_models = [PostingSource]    def get_queryset(self):        return super().get_queryset().select_related("sources")    def get_instance_from_related(self, related_instance):        if isinstance(related_instance, PostingSource):            return related_instance.posting我的問題是,當(dāng)我更新帖子上的來源時,由于某種原因,彈性搜索索引pre_save更新,而不是post_save。我基本上必須使用相同的來源進行2次放置請求,以使更改反映在我的索引中。我在文檔中添加了 一個,它似乎可以正常工作,但感覺它以后會導(dǎo)致性能問題。任何幫助或指導(dǎo)將不勝感激。def prepare_sources(self, instance):
查看完整描述

1 回答

?
30秒到達(dá)戰(zhàn)場

TA貢獻(xiàn)1828條經(jīng)驗 獲得超6個贊

經(jīng)過幾個月的測試,我通過添加一個我將我的多對多關(guān)系非規(guī)范化的地方解決了我的第一個問題。我也通過簡單地?fù)碛杏兄谛阅艿慕鉀Q了我的第二個問題。def prepare_sources(self, instance):.select_related("sources")



查看完整回答
反對 回復(fù) 2022-09-13
  • 1 回答
  • 0 關(guān)注
  • 92 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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