【发布时间】:2011-10-03 00:47:20
【问题描述】:
现在我正在处理一个 url 映射。假设我有三个类,company、user 和 store,我的目标是它们的 url 将位于同一层次结构中。由于它们在 url 中是相同的层次结构,因此我必须创建一个类 url_mapping 以确保没有重复名称。让我给出一个更具体的问题。
Class Company(models.Model):
company_name = models.CharField(max_length=30)
url_mapping = models.OneToOneField(URL_mapping)
Class User(models.Model):
user_name = models.CharField(max_length=30)
url_mapping = models.OneToOneField(URL_mapping)
Class store(models.Model):
store_name = models.CharField(max_length=30)
url_mapping = models.OneToOneField(URL_mapping)
Class URL_mapping(models.Model):
url = models.CharField(max_length=30)
现在,当访问者使用某个 url 访问我的网站时,我会在 URL_mapping 类中匹配该 url,然后进行反向查找,看看公司、用户和商店之间的 url 类型。
既然User、Store、Company有不同的view函数,是否可以通过反向查找快速重定向到对应的view函数?或者我应该在 URL_mapping 中添加另一个字段,说明它是哪个 url 类型?
例子是
http://www.example.com/levis -> will handle by brand_views
http://www.example.com/david -> will handle by user_views
http://www.example.com/mancy -> will handle by store_views
在数据库中,我们将有
url_mapping
id:1, name:levis
id:2, name:david
id:3, name:mancy
user
id:1, name:david, url_mapping:2
brand
id:1, name:levis, url_mapping:1
store
id:1, name: mancy, url_mapping:3
其中 url_mapping 是 oneToOneField。
现在不知道如何从 url_mapping 类中快速查找。
谢谢。
【问题讨论】:
-
您能解释一下 url 层次结构和三个类位于同一层次结构中的含义吗?这对我来说看起来很复杂。 :)
-
嗨,我现在用一个例子来解释我的问题。谢谢。