class Location(models.Model):
name = models.CharField(max_length=100, verbose_name=u"Location", default=u")
country = models.CharField(max_length=100, verbose_name=u"Country", default=u")
class Country(models.Model):
name = models.CharField(max_length=50, verbose_name=u"Country")
class Photo(models.Model):
location = models.ForeignKey(Location, null=True, verbose_name=u Photos')
photo = models.ImageField(upload_to='photos', null=True)
class LocationForm(forms.ModelForm):
class Meta:
model = Location
fields = ['name', 'country']
photos = MultiFileField(min_num=1, max_num=10)
def save(self, commit=True):
instance = super(LocationForm, self).save(commit)
for each in self.cleaned_data['photos']:
Photo.objects.create(photo=each, location=instance)
return instance
class AddLocationPageView(CreateView):
model = Location
form_class = LocationForm
template_name = 'add_location.html'
class BrowseLocationsPageView(ListView):
model = Country
context_object_name = 'countries'
template_name = "browse_locations.html"
<form action method="POST">{% csrf_token %}
{{ form|crispy }}
<button class="btn btn-default" type="submit">Add</button>
</form>
{% for country in countries %}
{{ country }}
{% endfor %}
class BrowseLocationsPageView(ListView):
model = Country
context_object_name = 'countries'
template_name = "browse_locations.html"
def get_queryset (self):
return Country.objects.order_by().values('name').distinct()
Find more questions by tags Django
- Letha_Kuhn commented on July 9th 19 at 10:14