Python 德扬戈。具有有限域集的代理模型
主力矩数据库方案不是从头开始设计的。它是从遗留系统继承的,必须保持目前的状态,因为它还与一些外部系统共享。因此,我们有:Python 德扬戈。具有有限域集的代理模型,python,mysql,django,django-models,Python,Mysql,Django,Django Models,主力矩数据库方案不是从头开始设计的。它是从遗留系统继承的,必须保持目前的状态,因为它还与一些外部系统共享。因此,我们有: class A(models.Model): """ List of 110 fields """ field_1 = models.CharField() field_... = models.CharField() field_n = models.CharField() 有没有办法拥有模型B,它将是代理模型,并且具有有
class A(models.Model):
"""
List of 110 fields
"""
field_1 = models.CharField()
field_... = models.CharField()
field_n = models.CharField()
有没有办法拥有模型B,它将是代理模型,并且具有有限的字段集
比如:
class B(A):
class Meta:
proxy = True
field_3 = models.CharField()
field_5 = models.CharField()
field_10 = models.CharField()
我目前想到的唯一解决方案是创建一些非托管模型。但代理模型更适合这一目标。。还是不?根据该报告,代理模型不是您想要的
因此,一般规则是:
如果您正在镜像现有模型或数据库表,并且没有
要获得所有原始数据库表列,请使用Meta.managed=False。
该选项通常用于对数据库视图和表进行建模
不在Django的控制之下
如果您想更改
Python仅支持模型的行为,但保留与中相同的所有字段
原始版本,使用Meta.proxy=True。这样就可以使
代理模型是原始存储结构的精确副本
保存数据时的模型
最好是在SQL中创建一个视图,只列出所需的字段,然后使用非托管表连接到该视图。是的,这就是我完成的解决方案。谢谢