Valores do Choices estão sendo armazenados assim [‘Cachorro’, ‘Gato’, ‘Pássaros’]

tenho um sistema que terá a opção de escolha de 1 ou multiplas opções no mesmo campo. Mau problema é que preciso que meu campo dentro do model seja charfield e no forms seja MultipleChoiceField para poder validar multiplas escolhas. Sei que poderia usar o filedmultiple no model e funcionaria, mas dai dari erro no django filter. Preciso que como o modelo está agora, tanto forms quanto model, mas que ele passe para dentro do valores limpos e nao como esta passando agora, agora passa assim:[‘Cachorro’, ‘Gato’, ‘Pássaros’]

models.py

PETN_CHOICES = (     ('Cachorro','Cachorro'), ('Gato','Gato'), ('Pássaros', 'Pássaros'), ('Peixes','Peixes'), ('Reptéis','Reptéis'), ('Roedores','Roedores') ) class Negocio(models.Model):    pet_aceitos = models.CharField(max_length=255, choices=PETN_CHOICES) 

forms.py

PETN_CHOICES = (     ('Cachorro','Cachorro'), ('Gato','Gato'), ('Pássaros', 'Pássaros'), ('Peixes','Peixes'), ('Reptéis','Reptéis'), ('Roedores','Roedores') )  class NegocioForm(UserCreationForm):     pet_aceitos = forms.MultipleChoiceField(           widget=forms.CheckboxSelectMultiple, choices=PETN_CHOICES, ) 

Proof that for any function $f:A\to B$ there exists a set $C$ and two functions $g:A\to C,h:C\to B$ not equal to $f$ such that $f=h\circ g$?


Proof that for any function $ f:A\to B$ there exists a set $ C$ and two functions $ g:A\to C,h:C\to B$ not equal to $ f$ such that $ f=h\circ g$ ?

I really have no clue how to tackle this problem. I have strong evidence to conclude this is true, but I don’t know how to prove it.

I think this may be solved using category theory, knowing if in the category Set, for any morphism $ f:A\longrightarrow B$ , there are two morphisms such that their composition equals $ f$ . The axioms for category tells the opposite, that for any two morphism there exists their composition morphism, but is it true the other way around in this context? And if this is not true, what condition does $ f$ need to have in order to not have this property?