#django #forms #model
#django #формы #Модель
Вопрос:
Я пытаюсь создать сложную таблицу в django, которая может объединять несколько элементов модели в одну HTML-страницу. Я нахожу несколько примеров того, как создать страницу для одного элемента модели. Filemaker предоставляет эту возможность, но я не могу перенести это в Filemaker. Я бы хотел использовать django, если это вообще возможно.
Например, puposes, я построил модель продаж автомобилей. Все в значительной степени понимают несколько полей, поскольку это связано с покупкой автомобиля. Фактическая модель не такая чистая. В примере модели пользователь является продавцом. Когда пользователь входит в систему, он видит экран своего клиента. Вместо того, чтобы заставлять пользователя перелистывать несколько страниц, я пытаюсь разместить множество связанных данных на одной странице.
Возможно ли создать единую форму для этого? Предлагает ли django что-нибудь, чтобы сделать это проще, чем создавать множество пользовательских HTML-форм? Кто-нибудь знает о подобном примере?
————мой макет—————
<table>
<tr><td> Top Left: Basic Customer info </td>
<td> Top Right: Wish List info. They want, but probably can't buy. </td>
<td rowspan=2> A great big scrollable list of all customers </td>
</tr>
<tr><td>Bottom Left: Sales Person info about himself </td>
<td>Bottom Right: A big notes section from the selected customer</td>
</tr>
</table>
————моя модель—————
# Bottom Left Panel
class SalesPersonProfile(models.Model):
user = models.ForeignKey(User, unique=True)
company = models.CharField(max_length=50, blank=True)
addr = models.CharField(max_length=50, blank=True)
city = models.CharField(max_length=25)
state = models.CharField(max_length=2)
zipCode = models.CharField(max_length=8)
# Top Left Panel Information
# Also a list of this stuff that goes in the extreme right
class Customer(models.Model):
salesPerson = models.ForeignKey(User, editable = False)
lastName = models.CharField(max_length=20)
firstName = models.CharField(max_length=20)
address = models.CharField(max_length=50)
city = models.CharField(max_length=25)
state = models.CharField(max_length=2)
zip = models.CharField(max_length=8)
image = models.ImageField(upload_to='photos')
# BOTTOM RIGHT - A great big multi-line notes field
notes = models.TextField(null=True, blank=True)
# Top Right Info
class WishList(models.Model):
customer = models.ForeignKey(Customer, unique=True)
dtg = models.DateTimeField('Date Added')
carType = models.CharField(max_length=10, choices=CAR_TYPE)
year = models.CharField(max_length=4)
make = models.CharField(max_length=20)
model = models.CharField(max_length=20)
miles = models.CharField(max_length=20)
color = models.CharField(max_length=20)
Ответ №1:
попробуйте создать одну форму со всеми необходимыми полями, а затем проверить методы сохранения, проверки и т. Д.