首页 > 解决方案 > 如何在同一视图中指定不同应用程序的模型但名称相同

问题描述

我有一个针对两个不同城市的单独 Django 应用程序。对于这些城市中的每一个,我都有同名的模型,并希望将它们带到相同的视图中。当我导入两个应用程序的模型时,数据不会呈现,我假设是因为 Django 不知道要使用哪一个。当我只导入 corpus_christi 时,模板会很好地呈现数据,反之亦然。如何指定我想从哪个应用程序中引入这些模型?

这是我的看法

from django.shortcuts import render
from django.http import HttpResponse
from corpus_christi.models import Service, Member
from lake_charles.models import Service, Member



def index(request):
    return render(request, 'pages/index.html')


def corpuschristi(request):
  residential = Service.objects.filter(service_type="Residential")
  commercial = Service.objects.filter(service_type="Commercial")
  prelisting = Service.objects.filter(service_type="Pre Listing")
  members = Member.objects.all()

  context = {
    'members': members,
    'residential': residential,
    'commercial': commercial,
    'prelisting': prelisting
  }
  return render(request, 'pages/corpuschristi.html', context)


def lakecharles(request):
    return render(request, 'pages/lakecharles.html')

标签: pythondjangodjango-modelsdjango-templatesdjango-views

解决方案


你可以尝试这样的事情:

from corpus_christi.models import Service as corpus_service
from corpus_christi.models import Member as corpus_member
from lake_charles.models import Service as lake_service
from lake_charles.models import member as lake_member

然后根据需要给他们打电话。


推荐阅读