如果用户没有其他模型中的数据,则从模型中删除所有数据

时间:2013-01-17 16:20:44

标签: django

如果用户拥有Data模型和Bank模型中的数据,一切正常,但如果用户没有Bank模型中的数据且只有Data模型中的数据 - 所有必须删除Data模型中的数据。

怎么办?

class Data(models.Model):
    user = models.ForeignKey(User, unique=True)
    something = models.CharField(max_length=255)

class Bank(models.Model):
    user = models.ForeignKey(User, unique=True)
    number = models.IntegerField()

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    name = models.CharField(max_length=255)

1 个答案:

答案 0 :(得分:0)

在你的一个观点函数中(或在一个cron作业中......你的问题实际上是模糊的):

bank = Bank.objects.get(user=user)
if not bank:
    data = Data.objects.filter(user=user).delete()

警告:

  • user必须具有有效值(即:必须定义)
  • 此代码不检查任何内容,它只执行您所要求的内容

foreign_key添加BankData(或者反之,它取决于关系的强度)可能是对您的类的有效更改。像这样,我们不知道DataBank如何相互关联