Django vi的python代码

2024-04-28 17:41:57 发布

您现在位置:Python中文网/ 问答频道 /正文

型号:

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模板的病理列表

视图:

^{pr2}$
  1. 用户从下拉菜单中选择一个病理学名称,id由

视图:

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

我被困住了。我需要python/django语法来编写以下内容:

病理学\u id现在必须从表Pathpubcombo(中间的manytomy表)中检索发布的\u id。一旦检索到发布_id,则必须使用它从publication表中检索所有属性,并将这些属性发送到另一个html模板以显示给用户。在


Tags: 用户视图模板idmodelmodelsclass下拉菜单
1条回答
网友
1楼 · 发布于 2024-04-28 17:41:57

您应该使用多对多关系,如下所述: 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()

那么

^{pr2}$

希望这个有用,还没有测试过,但你明白了。在

编辑:

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

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

相关问题 更多 >