【发布时间】:2023-04-04 14:04:01
【问题描述】:
我必须将遗留设计与我的 Django 项目集成,我正在寻找一些关于使用中介的建议。现有设计有效,但现在我需要按第三个表过滤项目。
英文 - 我有一个组织 (Django),它指向许多项目 (Legacy)。但是所有的项目都没有提到那个组织。我有第三个表 ProjectMap,它是通过触发器构建的来解决这个问题。它将 Organization.name 对应到一个项目。
我如何将它们粘合在一起才能让我做到这一点。
projects = Organization.objects.get(pk=1).projects.all()
它不会得到所有的项目,只是那些在第三个表中匹配的项目。这是我到目前为止所拥有的......
顺便说一句,如果有人有更好的策略,我会全力以赴
class Organization(models.Model):
name = models.CharField(max_length=32)
projects = models.ManyToManyField(Project)
class Project(models.Model):
"""This is the project info page..
Note: 'id' does exist and is the pk.
"""
result_number = models.IntegerField(null=True, db_column='LBLDGRUNNO', blank=True)
building_number = models.IntegerField(db_column='LBLDGNO')
name = models.CharField(max_length=150, db_column='SPIBLGNAME', blank=True)
class Meta:
db_table = u'PROJINFO'
managed = False
class ProjectMap(models.Model):
projinfo_table_id = models.IntegerField(null=True) # 'id' of Project
name = models.CharField(max_length=128, null=True) # 'name' in Organization
非常感谢!
【问题讨论】:
标签: mysql django django-models