如何在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'在此场景中,我们将收到针对某个总代理商的请求。我们确定了该分销商,并希望将该分销商称为制造商转换方法。这看起来像是一种在django中建模的方法(我相信有很多方法可以做到这一点),所以任何输入/反馈都是有用的。
我遇到问题的地方(可能是对python不太了解)是一个带有ManuType1的分发者,我该如何在运行时调用translate函数?
这可能是一个使用其他术语探索得很好的模式,只是不确定如何准确地表达它。
发布于 2010-07-02 04:47:04
如果dist是分发服务器的实例,则可以执行dist.man来获取制造商实例。由于多表继承在Django中的工作方式,您需要将制造商上存在的OneToOneField访问到子类实例。问题在于找出存在哪个子类实例。storing the ContentType of the subclass in the Manufacturer instance可以使这变得更容易。
https://stackoverflow.com/questions/3160762
复制相似问题