我如何告诉django包括" ON DELETE CASCADE"进入架构?

时间:2014-08-09 13:11:30

标签: sql django postgresql

我使用django(1.6)创建一个postgreSQL数据库,我也可以通过其他连接(目前是java和C ++)访问它。我有两个与外键链接的表,我想使用级联删除。 Django默认在其自己的命令中模拟此行为:

https://docs.djangoproject.com/en/1.6/ref/models/fields/#django.db.models.ForeignKey.on_delete

如果我删除manage.py shell中引用的对象,我会得到正确的行为。 (引用对象也被删除)。但是如果我转储sql-schema,我只能找到这个约束:

ALTER TABLE ONLY object_positions
ADD CONSTRAINT object_positions_obj_id_fkey FOREIGN KEY (obj_id) REFERENCES 
"Stored_objects"(id)  DEFERRABLE INITIALLY DEFERRED ;

如果我有一个通过pgAdmin指向它的object_position,我不允许从“Stored_objects”中删除一行。我已经在models.py中使用了它:

class object_position(models.Model):
class Meta:
  db_table = 'object_positions'
obj_id = models.ForeignKey(Stored_objects,primary_key=True,db_column='obj_id',on_delete=models.CASCADE)

虽然Cascade是默认行为。

有没有办法告诉django在sql-commands中添加“ON DELETE CASCADE”?

0 个答案:

没有答案