gpt4 book ai didi

django View 的 python 代码

转载 作者:行者123 更新时间:2023-11-28 22:08:01 24 4
gpt4 key购买 nike

型号:

class Pathology(models.Model):
pathology = models.CharField(max_length=100)

class Publication(models.Model):
pubtitle = models.TextField()

class Pathpubcombo(models.Model):
pathology = models.ForeignKey(Pathology)
publication = models.ForeignKey(Publication)
  1. 作为下拉菜单发送到 HTML 模板的病理列表

查看:

def search(request):
pathology_list = Pathology.objects.select_related().order_by('pathology')
  1. 用户从下拉菜单中选择一个病理学名称,并通过以下方式检索 id

查看:

def pathology(request):
pathology_id = request.POST['pathology_id']
p = get_object_or_404(Pathology, pk=pathology_id)

我被困在哪里。我需要 python/django 语法来编写以下内容:

pathology_id 现在必须从表 Pathpubcombo(中间的 manytomany 表)中检索 publication_id。检索到 publication_id 后,必须使用它从 publication 表中检索所有属性,并将这些属性发送到另一个 html 模板以显示给用户。

最佳答案

您应该使用此处描述的多对多关系: http://www.djangoproject.com/documentation/models/many_to_many/

喜欢:

class Pathology(models.Model):
pathology = models.CharField(max_length=100)
publications = models.ManyToManyField(Publication)

class Publication(models.Model):
pubtitle = models.TextField()

然后

def pathology(request):
pathology_id = request.POST['pathology_id']
p = get_object_or_404(Pathology, pk=pathology_id)
publications = p.publications.all()
return render_to_response('my_template.html',
{'publications':publications},
context_instance=RequestContext(request))

希望这能奏效,还没有测试过,但你明白了。

编辑:

如果无法重命名表并使用 django 的内置支持,您也可以使用 select_related()。

http://docs.djangoproject.com/en/dev/ref/models/querysets/#id4

关于django View 的 python 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/566083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com