django-ajax-selects app: How do I create a new object when there isn't already one in the database? -


I am using, which is an independently available designer app that provides jquery autocomplete functionality .

It has worked - that is, this form is automatically completing the fields, which I want. But I have a problem ... I am using it in a model form which adds a partnership object to the database:

  class skater (models.model): name = models.CharField (max_length = 64) nickname = models.CharField (MAX_LENGTH = 64) gender = models.CharField (MAX_LENGTH = 1, option = GENDER_CHOICES) class participation (models.Model): female_partner = models.ForeignKey (skater, limit_choices_to = {'gender': Female}, related_name = 'female_partner_set') male_partner = models.ForeignKey (skeeter, limit_choices_to = {'gender': male}, related_name = 'male_partner_set')  

I want to be able Use for A name and surname should be placed in the female-partner and male-partner area, even if a skater object is not present and I want to make that object. How do I go about doing this? I can not keep the code in the form save form because the field will not be valid (this is not a valid skater).

1 Edit: Adding more code ...

Form:

  Category PartnershipAddForm (forms.ModelForm) : Female_partner = AutoCompleteSelectField ('female_skater', required = true) male_partner = AutoCompleteSelectField ('male_skater', required = true) class meta: model = partnerships  

settings.py.

  AJAX_LOOKUP_CHANNELS = {'women_scaster': ('skaters.lookups', 'FemaleLookup'), 'male_scritter': ('skaters.lookups', 'MaleLookup')}}  

lookups.py (MaleLookup is identical except for gender = MALE):

  class FemaleLookup (object): def get_query (self, q, request): "" "A query set Return back If you need to reach request.user "Skater.objects.filter (Q (gender = FEMALE) & amp; Q (name__iartertsv = q) | Question (surname = eartertsv = q)) DEF format_item (self, skater) : "" Simple display of an object when it is displayed in the list of selected objects "" Unicode (Skeeter) DF format_cent returning (self, skater) Returning: "" "More Verbose Display Search Results Display HTML and Multi-Lines" Returns Can be % S & lt; Br / & gt; "% Unicode (skeeter) def get_objects (auto, id):" "" A list of id is given, you want to return and order the order to order the objects on them. This is currently to display the selected items (in the case of multiple fields) "Skater.objects.filter" (pk__in = ID) .order_by ('name', 'surname')  

Automatically place the ID of the object instead of the whole field field, which is why I had "required" error and Why Daniel's solution does not work.) The value variable was empty as a skater that does not exist, there is no ID in it.

I'm not sure this is the best way to do this, but I have finished AutoCompleteField text using AutoCompleteField instead of AutoCompleteSelectField, but it does not create a sketch object for me

Code: ..

PartnershipAddForm (forms.ModelForm): female_partner = AutoCompleteField ('female_skater', required = true) male_partner = AutoCompleteField ('male_skater', required = true) class meta model = partnership def (self ): In Partners: [ii] [name] [name] [name] [name] [name] partners [i] = partners [i] = partner [i] partner = [None, none] partner_sirited = [no one, none] gender = [FEMALE, MALE] For i [0,1]: partner [i], partner_red [i] = skater.objects.get_or_create (name = Name [i], surname = surname [i], gender = Gender [i]) Partnership, = Partnership.objects.get_or_create (female_partner = partners created [0], male_partner = partners [1],) Return Sharing

Comments

Popular posts from this blog

oracle - The fastest way to check if some records in a database table? -

php - multilevel menu with multilevel array -

jQuery UI: Datepicker month format -