Je portage d'une application de base de données existante sur Django (tant mieux!), Et ont créé des modèles de Django comme suit:Django: supprimer les entrées orphelines M2M?
class Book(models.Model):
title = models.CharField(max_length=200)
author = models.ForeignKey(Author)
subject = models.ManyToManyField(Subject, related_name='subject')
class Author(models.Model):
name = models.CharField(max_length=200)
class Subject(models.Model):
name = models.CharField(max_length=200)
J'ai peuplé les modèles à partir des données existantes. Le problème est que les données sont assez désordonnées, et il y a Author
orphelins et Subject
entrées, sans Book
connexes.
Existe-t-il une manière sympa de pouvoir utiliser Django pour supprimer ces entrées Author
et Subject
? Quelque chose comme ça - mais cela ne fonctionne pas ...
orphan_authors = Author.objects.filter(book_set=None)
for orphan in orphan_authors:
orphan.delete()
orphan_subjects = Subject.objects.filter(book_set=None)
for orphan in orphan_subjects:
orphan.delete()
Ou devrais-je utiliser le SQL brut?
Fonctionne magnifiquement, merci! – AP257