首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在django中对此进行建模(继承模型,其中每个继承模型都有一个唯一的方法)

如何在django中对此进行建模(继承模型,其中每个继承模型都有一个唯一的方法)
EN

Stack Overflow用户
提问于 2010-07-02 02:48:22
回答 1查看 216关注 0票数 1

如何在django中对此进行建模:

1)拥有制造商的基础网络

2)在每个网络下,他们可能是几个分销商

3)系统的用户可以通过分销商访问项目

4)如果用户通过分销商访问项目,我们希望该项目进行翻译,其中每个制造商都有自己的翻译

代码语言:javascript
复制
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函数?

这可能是一个使用其他术语探索得很好的模式,只是不确定如何准确地表达它。

EN

回答 1

Stack Overflow用户

发布于 2010-07-02 04:47:04

如果dist是分发服务器的实例,则可以执行dist.man来获取制造商实例。由于多表继承在Django中的工作方式,您需要将制造商上存在的OneToOneField访问到子类实例。问题在于找出存在哪个子类实例。storing the ContentType of the subclass in the Manufacturer instance可以使这变得更容易。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3160762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档