Skip to content

Instantly share code, notes, and snippets.

@ricardosasilva
Created September 9, 2020 21:45
Show Gist options
  • Save ricardosasilva/15265acc2b62c21e1e5e97bc4b08dc2f to your computer and use it in GitHub Desktop.
Save ricardosasilva/15265acc2b62c21e1e5e97bc4b08dc2f to your computer and use it in GitHub Desktop.
Exemplo Compressor - Cristofer
class CompressorForm(forms.ModelForm):
class Meta:
model = Compressor
exclude = ['unidade', ]
def __init__(self, unidade, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['regime_de_atuacao'].queryset = Regime.objects.filter(unidade=unidade) # Filtra os valores exibidos no campo
self.unidade = unidade
def save(self, *args, **kwargs):
compressor = super().save(commit=False)
compressor.unidade = self.unidade
compressor.save()
return compressor
def adicionar_compressor(request, pk):
unidade = get_object_or_404(Unidade, pk=pk)
if request.method == 'POST':
form = CompressorForm(request.POST, unidade=unidade)
if form.is_valid():
compressor = form.save()
return redirect(...
else:
form = CompressorForm(unidade=unidade)
return render(...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment