PGsql удаление полей в таблице и связанных с ними полей в анотере одной командой
В моем проекте django есть две модели:
class Results(models.Model):
device = models.ForeignKey(Device, null=True, on_delete=models.SET_NULL)
proj_code = models.CharField(max_length=400)
res_key = models.SlugField(max_length=80, verbose_name="Message unique key", primary_key=True, unique=True)
read_date = models.DateTimeField(verbose_name="Datetime of vals readings")
unit = models.ForeignKey(ModbusDevice, null=True, on_delete=models.SET_NULL)
и
class VarsResults(models.Model):
id = models.AutoField(primary_key=True) on_delete=models.CASCADE)
key_res = models.ForeignKey(Results, related_name="keyres", on_delete=models.CASCADE)
var_id = models.ForeignKey(ModbusVariable, null=True, on_delete=models.SET_NULL)
var_val = models.CharField(max_length=400, blank=True)
var_val_conv = models.CharField(max_length=100, blank=True, null=True)
var_hash = models.CharField(max_length=400) has_error = models.BooleanField(default=False)
Итак, VarsResults имеет ключ_res ForeignKey к таблице Results. Я бы, используя PGSql, создал запрос на удаление ВСЕХ данных, начиная с Results, из определенных данных и автоматически удалил бы связанные с ними строки в VarsResults, например, так:
DELETE FROM Results WHERE read_date < "2022-01-01" (and delete also the related VarsResults rows)
Заранее большое спасибо Мануэль