簡體   English   中英

當我從數據庫/模型中刪除一個對象時,當有兩個類時,如何讓 Django Admin 刪除文件?

[英]How do I get Django Admin to delete files when I remove an object from the database/model when there's two classes?

我用它來刪除一個文件,它的工作原理:

@receiver(post_delete, sender=mymodel)
def submission_delete(sender, instance, **kwargs):
    instance.file.delete(False)

但是我有兩個帶有文件的模型,當我復制粘貼該代碼並更改模型名稱時,它不再像這樣工作:

@receiver(post_delete, sender=mymodel)
def submission_delete(sender, instance, **kwargs):
    instance.file.delete(False)

@receiver(post_delete, sender=mymodel2)
def submission_delete(sender, instance, **kwargs):
    instance.file2.delete(False)

我該如何解決?

編輯:我剛剛發現最后一個有效,但第一個無效,所以我該如何解決?

你有沒有檢查哪個模型先刪除。 嘗試改變這兩個函數的位置。

@receiver(post_delete, sender=mymodel2)
def submission_delete(sender, instance, **kwargs):
    instance.file2.delete(False)

@receiver(post_delete, sender=mymodel)
def submission_delete(sender, instance, **kwargs):
    instance.file.delete(False)

我不得不重命名這兩個函數,哈哈,它們的名稱相同,為什么。

@receiver(post_delete, sender=mymodel)
def submission_delete(sender, instance, **kwargs):
    instance.file.delete(False)

@receiver(post_delete, sender=mymodel2)
def submission_de(sender, instance, **kwargs):
    instance.file2.delete(False)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM