Como usar o estrangeiro
Pergunta
Quero estender o ForeignkeyRawidWidget, por isso quero poder usá -lo sem definir RAW_ID_FIELDS.
Com o seguinte, não recebo um erro, mas não vejo efeito:
# models.py
class Product(models.Model):
...
class GroupProduct(Product):
...
products = models.ManyToManyField(Product, related_name="%(class)s_related")
# forms.py
class GroupProductAdminForm(forms.ModelForm):
class Meta:
model = GroupProduct
widgets = {
'products': ForeignKeyRawIdWidget(GroupProduct._meta.get_field('products').rel),
}
Isso me dá um erro: iniciar() leva pelo menos 2 argumentos sem chave (1 dado)
products = forms.ModelMultipleChoiceField(widget=ForeignKeyRawIdWidget(GroupProduct._meta.get_field('products').rel))
Como faço isso?
Obrigado
Solução 2
Usar ManyTomanyRawidWidget em vez de ForeadkeyRawidWidget consertou isso para mim.
Outras dicas
Você esqueceu de passar o modelo de modelo relacionado ao ModelMultiplechoicefield.
products = forms.ModelMultipleChoiceField(Product.objects, widget=ForeignKeyRawIdWidget(GroupProduct._meta.get_field('products').rel))
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow