Django外键。在一个确切的日期后删除连接

时间:2017-12-14 11:52:18

标签: python django

例如我有2个模型

products.py

def

clients.py

class Product(models.Model):
      name = models.CharField(max_length=255) 

现在:

产品

class Client(models.Model): name = models.CharField(max_length=255) client_product = models.ForeignKey(Product) client_product_expiry_date = models.DateTimeField()

客户端

name = Chocolate

name = John

client_product = Chocolate

某些天后(在 client_product_expiry_date = 2017.12.17 (after 3 days) 字段中设置) 应删除客户端产品之间的此连接

有什么办法可以实现吗?

1 个答案:

答案 0 :(得分:0)

重申我在评论中所说的话:

当django在表ProductClient之间创建连接时,它实际上创建了另一个表,其中每个条目代表您提到的“connection”JohnChocolate)。

要删除连接,您可以:

a)从数据库中删除这样的条目。

b)或添加专用标记:client_product_expired = True / False(理想情况下还会为其实现Manager

要实现“过去x时间”任务,您可以使用Bijoy suggested in the comments:“查找能够完成工作的cron作业或Celery”

那就是说,我建议你阅读更多有关Python和Django的内容。没有展示研究成果的问题会让你在这个地方大量投票。