如何通过用户在django上查询模型函数的sql

9bfwbjaz  于 2021-08-01  发布在  Java
关注(0)|答案(0)|浏览(272)

在我的一个模型中,我试图通过DjangoSQL查询用户在一个模型对象的函数中使用的条目。如何在传记模型中成功地从sql查询到prompt方法对象的journal模型函数?
下面的代码是我正在尝试的,但没有生成任何函数搜索:

  1. from django.db import models
  2. from django.urls import reverse
  3. from django.conf import settings
  4. import misaka
  5. # Create your models here.
  6. from django.contrib.auth import get_user_model
  7. User = get_user_model()
  8. class Biography(models.Model):
  9. user = models.ForeignKey(User,related_name='biography',on_delete=models.CASCADE)
  10. created_at = models.DateTimeField(auto_now=True)
  11. prompt = models.CharField(max_length=256,default="")
  12. prompt_html = models.CharField(max_length=256,editable=False,default="")
  13. entry = models.TextField(default="")
  14. entry_html = models.TextField(editable=False)
  1. class Journal(models.Model):
  2. def gen_prompt():
  3. def sort_by_auth_user(self, item):
  4. if item.created_by == self.request.user:
  5. return -1
  6. else:
  7. return 1
  8. def get_queryset(self):
  9. with connection.cursor() as cursor:
  10. cursor.execute('SELECT entry FROM journal_Biography')
  11. journal_str = cursor.fetchall()
  12. sorted_journal_str = sorted(journal_str, key=self.sort_by_auth_user)
  13. journal_str = str(sorted_journal_str)
  14. qg = TextGenerator(output_type="question")
  15. gen_prompt = qg.predict([journal_str])
  16. return gen_prompt
  17. user = models.ForeignKey(User,related_name='journal',on_delete=models.CASCADE)
  18. created_at = models.DateTimeField(auto_now=True)
  19. prompt = models.CharField(max_length=256,default=gen_prompt())
  20. prompt_html = models.CharField(max_length=256,editable=False,default=gen_prompt())
  21. entry = models.TextField(default='')
  22. entry_html = models.TextField(editable=False)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题