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

Foi útil?

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
scroll top