Ignore this. Field was in excluded_fields which I thought only stopped the
display of fields, but actually stops the data from that field getting into
the model.


On Wed, Sep 28, 2016 at 4:59 PM, Jonty Needham <[email protected]>
wrote:

> I have the following code which is supposed to create a MyConfig object.
> However, it doesn't as the app_model is always returned as None.
>
> The idea is to choose from a select few contenttypes and then add a key,
> and the resulting config will trigger a bunch of services. However whenever
> I save the form, the contenttype stored in the app_model is always None,
> which is clearly undesirable.
>
> This is in Django1.8
>
> Here is the admin:
>
> class ContentTypeModelChoiceField(ModelChoiceField):
>     def label_from_instance(self, obj):
>         return "{}-{}".format(obj.app_label, obj.model)
>
> class MyConfigForm(ModelForm):
>     class Meta:
>         model = models.MyConfig
>         fields = '__all__'
>
>     def __init__(self, *args, **kwargs):
>         super(MyConfigForm, self).__init__(*args, **kwargs)
>         self.fields['app_model'].label = "App Name"
>
>     app_model = ContentTypeModelChoiceField(
>         ContentType.objects.filter(
>             app_label__startswith='myApp',
>             model="myModel",
>         ),
>         empty_label="Choose a model",
>     )
>
> class MyConfigAdmin(admin.ModelAdmin):
>     model = models.MyConfig
>     form =  MyConfigForm
>     list_display = (<display fields>
>     )
>     search_fields = (<search fields>
>     )
>
> And here is the model itself:
>
> class MyConfig(models.Model):
>
>     app_model = models.ForeignKey(ContentType, null=True)
>     ref_key = models.CharField(max_length=32, null=True)
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CANOQRbymmn-YC6DsE17OgTG91w3gW7HpbZmXRM6DhtBUMsYZZw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to