- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想知道如何过滤我的定义以仅查看已过滤患者的问题。
我尝试过这个:
def detail3(request, patient_id):
patient = get_object_or_404(Patient, pk=patient_id)
questions = Question.objects.filter(patient=patient_id).prefetch_related('reply_set').all().order_by('pub_date')
return render_to_response('PQR/detail3.html', {'questions_list': questions, 'patient': patient })
患者=患者_id => 当我使用模板开始 View 时,我得到以下结果:
"Cannot resolve keyword 'patient' into field."
我不知道为什么会发生这个错误,因为当我尝试使用相同参数的另一个解决方案时(病人=病人id)我没有问题!
def detail2(request, patient_id):
tab_replies = []
patient = get_object_or_404(Patient, pk=patient_id)
questions = Question.objects.all().order_by('pub_date')
for question in questions:
tab_replies.append(question.reply_set.filter(patient=patient_id))
replies_per_question = zip(questions, tab_replies)
return render_to_response('PQR/index.html', {'questions_list': replies_per_question, 'patient': patient })
那么,使用 prefetch_lated 方法过滤我的与 Patient_id 相关的问题的解决方案是什么?谢谢您的帮助!
这是我的 models.py
class Patient(models.Model):
name = models.CharField(max_length=50)
def __unicode__(self):
return self.name + ' [' + str(self.id) + ']'
def listReply(self):
replies = Reply.objects.filter(patient= self.id)
return replies
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question_text
class Reply(models.Model):
question = models.ForeignKey(Question)
patient = models.ForeignKey(Patient)
reply_text = models.CharField(max_length=200)
def __unicode__(self):
return str(self.reply_text)
最佳答案
您正尝试按 Question
模型中不存在的字段进行过滤:
Question.objects.filter(patient=patient_id)
患者不是问题
字段,这就是您收到此错误的原因。
在您的 Reply
模型中,将 lated_name
属性添加到问题字段:
question = models.ForeignKey(Question, related_name="replies")
然后您可以通过执行以下操作来查询问题列表以及特定患者的答复:
Question.objects.filter(replies__patient=patient_id)
关于python - 使用 prefetch_lated 进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30711036/
我正在尝试将连接到用户实例的所有数据导出到 CSV 文件。为此,我需要首先从数据库获取它。使用类似的东西 data = SomeModel.objects.filter(owner=user) 在每个
我想知道如何过滤我的定义以仅查看已过滤患者的问题。 我尝试过这个: def detail3(request, patient_id): patient = get_object_or_404(
我在 Django 应用程序中使用带有主数据库和只读副本的多数据库,但为了避免复制滞后问题,路由器始终使用默认数据库,除了我手动设置数据库的少数地方。 我遇到了一个问题,因为我不知道如何指定用于 pr
在 models.py 中: from django.db import models ... class Product(models.Model): ... recommended =
我有这些模型 class Product(models.Model): product_id = models.AutoField(primary_key=True) product_
我对 django 比较陌生,我在 django 中使用 select_lated() 和 prefetch_lated() 来减少对数据库的点击。 这是我的views.py 文件的一部分: topi
我有一个具有嵌套序列化器字段的序列化器。我已经设置了急切加载,一切都运行良好。 但是,我必须向嵌套字段添加一些自定义过滤,这需要 SerializerMethodField。 此更改之后,与 pref
每次使用具有 OneToMany 关系的模型时,是否应该不断使用 Django select_lated 或 prefetch_lated? 如果我有多个外键。我可以像这样使用它吗? class A(
如何根据列表页面上选择的 pk 在详细信息页面中显示电影所属的类别:多对多关系。我正在寻找一种可能的方法来使用 prefetch_lated 来完成此操作。任何其他方式也可以。 模型.py class
我有树模型 class Category(models.Model): name = models.CharField(max_length=60) class Product(models.
我是一名优秀的程序员,十分优秀!