0

私は django-crispy-forms を使用しており、autocomplete-light を使用したいのですが、うまくいきません。必要な施設が存在しない場合、ユーザーが新しい施設を作成できるようにする必要があります。autocomplete-light の使い方がわからず、何日も苦労しています。誰かが私を正しい方向に向けることができますか??

models.py

class CollectionFacility(TimeStampedModel):
    """
    Data collection facility.
    """

    facility_name = models.CharField(max_length=256, blank=False)
    address_line1 = models.CharField("Address line 1", max_length=45)
    address_line2 = models.CharField("Address line 2", max_length=45, blank=True)
    country = models.CharField(max_length=50, blank=False)
    state_province = models.CharField(max_length=100, blank=True)
    city = models.CharField(max_length=100, blank=False)
    postal_code = models.CharField("Postal Code", max_length=20, blank=True)
    facility_contact = models.ForeignKey('FacilityContact', related_name='collection_facilities', null=True, blank=True)

    def __unicode__(self):
        return "%s, %s" %  (self.facility_name, self.country)

    class Meta:
        ordering = ['country', 'facility_name', 'city', 'state_province']
        verbose_name = "Collection Facility"
        verbose_name_plural = "Collection Facilities"

class FacilityContact(TimeStampedModel):
    TITLES = (
        ('Mrs.', 'Mrs.'),
        ('Ms.', 'Ms.'),
        ('Mr.', 'Mr.'),
        ('Dr.', 'Dr.'),
    )

    first_name = models.CharField(max_length=256, blank=False)
    middle_initial = models.CharField(max_length=4, blank=True)
    last_name = models.CharField(max_length=256, blank=False)
    title = models.CharField(max_length=4, choices=TITLES, blank=True)
    email = models.EmailField(blank=False)

    def __unicode__(self):
        return "%s, %s" %  (self.last_name, self.first_name)

    class Meta:
        ordering = ['last_name', 'first_name']
        verbose_name = "Facility Contact"
        verbose_name_plural = "Facility Contacts" 

フォーム.py

class FacilityForm(autocomplete_light.ModelForm):
    class Meta:
        model = CollectionFacility

ビュー.py

facility_form = FacilityForm()
# pass it in the context to template
....

template.html

{% crispy facility_form %}
4

1 に答える 1