multi-table-inheritance

    1热度

    1回答

    我正在使用多表继承(又名混凝土继承),其中我有一个非抽象模型+数据库表称为客户,它与共同的细节涉及所有客户。 但客户可以是个人,合作伙伴或公司,为此我创建了继承模型和表。个人有名字+姓氏,公司有其他具体细节等。 我希望能够访问客户端的名称(从子表中的列派生),当我想要一个所有的列表客户端。我发现this tutorial,工作成功。 基本上,它涉及在客户端表上插入一个列,该列将存储子模型的名称。然

    1热度

    1回答

    我一直在玩多表继承和数据库约束。我知道Rails的哲学是处理代码中的约束,而不是数据库中的约束,但是我想这样做。我也知道多态关联,但他们不让你执行约束。 因此,这里是我的方案,而不必imageable_type和imageable_id像guides,我想有employee_id和product_id(在我的情况下,我只会有两个外键)。这可以让我创建一个像解释here一样的约束。 但现在,我有一个

    0热度

    1回答

    我需要几个从一个基类继承一对一关系的模型。在与Django的例子保持: from django.db import models class Place(models.Model): name = models.CharField(max_length=50) class Restaurant(Place): serves_hot_dogs = models.Boole

    1热度

    2回答

    我有一个函数get_priority(),它通过父类(块)中的所有对象进行排序以获得最高的“优先级”对象。现在我想要将相关的子类对象转换为超类对象。 Django docs on Multi-Table Inheritance表明我可以通过使用子类的小写名称来完成此操作。例如,如果子类是概念,我可以做到以下几点: chunk = get_priority(Chunk.objects.all())

    2热度

    1回答

    我想为我的Rails应用程序沿着多表继承的方式实现一些东西。我熟悉STI是如何工作的,并且想知道实施是否相似。 我的情况如下(表的名称已被更改): 我有一个表的员工,与员工有许多工友和程序员。门卫和程序员有许多不同类型的工作用具,所以保管桌将适合看门人,而Tech table适合程序员。那么工作可能是无止境的,工作属性(管理员,程序员等)是不同的,所以他们必须是单独的表。我想合并一个名为Jobs的

    2热度

    1回答

    class Parent(models.Model): pass class RebelliousChild(Parent): parent_fields = [__x.name for __x in Parent._meta._fields()] Django的1.3响应: django.core.exceptions.FieldError: Local field

    4热度

    2回答

    如何在rails中使用多个表继承来构建对象的嵌套表单?我正在尝试使用has_many关系的模型创建一个嵌套窗体,以创建一个具有多表继承功能的另一组模型。我使用formtastic和cocoon作为嵌套格式,并使用act_as_relation gem来实现多表继承。 我有以下型号: class Product < ActiveRecord::Base acts_as_superclass be

    1热度

    1回答

    我有这样的事情: class Base(Model): ... def downcast(self): try: return self.childa except: pass try: return self.childb except: pass return

    3热度

    2回答

    我正在寻找如何对多个执行查询对象,然后在其相关对象的详细视图一起使用他们一些建议。以下是我与现在的工作: -- app/models.py -- class Material(models.Model): created = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto

    2热度

    1回答

    复制使用多表继承的对象我试图复制延伸穿过多表继承另一个对象的对象。 的母公司为集团和孩子位置 的问题是,父对象发生变化,而不是创建一个新的父和子对象。 下面是我在做什么: location = get_object_or_404(Location, pk=pk) location.pk = None location.name = location.name+' - ch