Beispiel #1
0
	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'])
Beispiel #2
0
	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'])
Beispiel #3
0
	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
Beispiel #4
0
	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'])