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.

