【发布时间】:2011-03-10 19:11:34
【问题描述】:
如何在 django 中建模:
1) 拥有基础制造商网络
2) 在每个网络下,它们可能有多个分销商
3) 系统用户可以通过经销商访问物品
4) 如果用户通过经销商访问该项目,我们希望翻译该项目,每个制造商都有自己的翻译
class Manufacturer(models.Model):
networkname = models.CharField(max_length=128)
class Meta:
proxy = True
class Distributor(models.Model):
man = models.ForeignKey(Manufacturer)
class ManuType1(Manufacturer):
def translate(self, str):
return 'translate'
class ManuType2(Manufacturer):
def translate(self, str):
return 'translate'
在这种情况下,我们将收到对某个 Distributor 的请求。我们确定那个分销商,我们想把那个分销商称为制造商翻译方法。 这看起来像是在 django 中建模的一种方法吗(我相信有很多方法可以做到这一点) 所以任何输入/反馈都是有用的。
我遇到问题的地方(可能对 python 不太了解)提供了一个带有 ManuType1 的 Distributor 我如何在运行时调用 translate 函数?
这可能是使用其他术语的一个很好探索的模式,只是不确定如何准确地表达它。
【问题讨论】:
-
你到底想达到什么目的?您想要 i18n 用于制造商对象中的数据吗?与您尝试执行的操作相比,还有一些其他选项可能更容易。
-
实际上翻译方法真的无关紧要......它可以是制造商的每个变体中使用的任何方法......
标签: python django inheritance proxy model