我是使用Django框架的新手。我想对2个不同的项目使用相同的数据库(PostgreSQL)表。我能够从两个不同的项目访问相同的数据库。但是如何访问表?
首先,我在project1中有模型
class employees(models.Model):
employeeID = models.IntegerFiled()
employeeName = models.CharField(max_length=100)
这将在数据库中创建一个project1_employees
表。我想在project2中访问此表。如果我在project2中具有相同的模型并进行迁移,则它将在相同的数据库中创建一个新表project2_employees
。这是两个完全不同的项目。
答案 0 :(得分:1)
在第二个项目模型managed = False
中使用class Meta:
。这将防止迁移代码创建表。有关更多信息,请参见:
https://docs.djangoproject.com/en/3.0/ref/models/options/#managed
您需要考虑的是,您是否认为项目会足够分散,最终将需要单独的数据库/表。
答案 1 :(得分:1)
对于第二个项目,请按以下方式更改模型的元数据:
NA->101
然后进行假迁移:
class employees(models.Model):
employeeID = models.IntegerFiled()
employeeName = models.CharField(max_length=100)
class Meta:
managed = False
db_table = 'project1_employees'