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