簡體   English   中英

Django:分區表的外鍵

[英]Django: Foreign Key to a partitioned table

我已經使用架構師對現有表進行分區。

@architect.install('partition', type='range', subtype='integer', constraint='100', column='id')
class Project(models.Model):
    name = models.CharField(max_length=150)

項目模型被用作另一個模型的外鍵。

class ProjectChangeLog(models.Model):
    project = models.ForeignKey(Project, on_delete=models.CASCADE)

分區后,我無法添加任何ProjectChangeLog對象。 它說:

IntegrityError: insert or update on table "logging_projectchangelog" violates foreign key constraint 
DETAIL:  Key (project_id)=(231) is not present in table "project_project"

分區的局限性之一是您不能有指向它們的外鍵。 一種解決方法是使用自定義約束來模仿ForeignKey行為。 方法可以為您提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM