def update_all(self): # On crée un titre avec la nouvelle valeur du champ new = Titre(titre=self.cleaned_data['titre']) # On vérifie si un titre similaire existe for old in Titre.objects.all(): if old.titre == new.titre: for oldCat in Categorie.objects.all(): if self.initTitre: if oldCat.titre.titre == self.initTitre.titre.titre: oldCat.titre = Titre.objects.get(titre=self.cleaned_data['titre']) oldCat.save() return old # Si non et si on modifie, on sauvegarde le titre et on refait l'opération if self.initTitre: new.save() for old in Titre.objects.all(): if old.titre == new.titre: for oldCat in Categorie.objects.all(): if oldCat.titre.titre == self.initTitre.titre.titre: oldCat.titre = Titre.objects.get(titre=self.cleaned_data['titre']) oldCat.save() return old # Si on crée un nouvel élément et le titre n'existe pas, on le sauvegarde new.save() return Titre.objects.get(titre=self.cleaned_data['titre'])
def clean_titre(self): t = Titre(titre=self.cleaned_data['titre']) for e in Titre.objects.all(): if t.titre == e.titre: return Titre.objects.get(titre=self.cleaned_data['titre']) t.save() return Titre.objects.get(titre=self.cleaned_data['titre'])
def update_some(self, list): for c in list: cat = Categorie.objects.get(pk=c) try: cat.titre = Titre.objects.get(titre=self.cleaned_data['titre']) except: new = Titre(titre=self.cleaned_data['titre']) new.save() cat.save() return self.initTitre.titre
def update_one(self): # On crée un titre avec la nouvelle valeur du champ new = Titre(titre=self.cleaned_data['titre']) # On cherche si le nouveau titre existe déjà for old in Titre.objects.all(): if old.titre == new.titre: return old # S'il n'existe pas, on sauvegarde le nouveau titre try: new.save() except: print("Titre déjà existant") return Titre.objects.get(titre=self.cleaned_data['titre'])