Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating front-end forms like in Django Admin

I was curious if there was a way to replicate the Django admin interface - specifically the forms when adding an object - in the front end... Here's my scenario:

class Area(models.Model):
    name = models.CharField(max_length=100)

class SubArea(models.Model):
    name = models.CharField(max_length=100)
    area = models.ForeignKey(Area)

class Product(models.Model):
    name = models.CharField(max_length=150)
    area = models.ForeignKey(Area, null=True, blank=True)
    subarea = models.ForeignKey(SubArea, null=True, blank=True)

So If I setup a form in the frontend for the Product model, I have no way of adding Area or SubArea objects. In the Django admin, however, I'm able to easily add these objects by clicking the "+" next to the fields.

I am looking for the easiest possible solution (while still being secure) to allow for fronted creating of the Foreign Keys without having to setup separate forms. Not sure if that is even possible, but wanted to reach out to the community for advice.

Thanks! J

like image 408
Jeffrey Stilwell Avatar asked Mar 15 '26 19:03

Jeffrey Stilwell


1 Answers

Django admin makes extensive use of formsets, see below:

https://docs.djangoproject.com/en/1.6/topics/forms/formsets/

Regarding your query with adding the '+' a la Django admin, you can acheive this with the RelatedFieldWidgetWrapper which you can find here.

like image 109
rix Avatar answered Mar 17 '26 07:03

rix



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!