首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django - Formset和内联Formset的用法?

Django - Formset和内联Formset的用法?
EN

Stack Overflow用户
提问于 2013-05-14 20:06:23
回答 1查看 500关注 0票数 0

对于使用哪一个(Formset还是内联Formset),我真的很怀疑。

我有一份网上送货申请表,要预订自行车.自行车不止一种,因此我有两种型号"DeliveryRequests“和"DeliveryRequestBikes”。

代码语言:javascript
复制
class DeliveryRequests(models.Model):
    pickup_date = models.DateField()
    return_date = models.DateField()
    pickup_hour = models.TimeField()
    return_hour = models.TimeField()
    name = models.CharField(max_length=100, null=False, blank=False)
    email = models.EmailField(null=False, blank=False)
    phone = models.CharField(max_length=25, null=False, blank=False)
    location_name = models.CharField(max_length=100, null=False, blank=False)
    address_to_delivery = models.CharField(max_length=200, null=False, blank=False)
    message = models.TextField(null=True, blank=True)
    deliveryrequeststatus = models.ForeignKey(DeliveryRequestStatus, null=False, blank=False)
    comment = models.TextField(null=True, blank=True)
    date_insert = models.DateTimeField(auto_now_add=True)
    date_last_modification = models.DateTimeField(auto_now=True)  

    def __unicode__(self):
        return self.name

    class Meta: # To order in the admin by name of the section
        ordering = ['-id']   


class DeliveryRequestBikes(models.Model):
    deliveryrequest = models.ForeignKey(DeliveryRequests, null=False, blank=False)
    biketype = models.ForeignKey(BikeTypes, null=False, blank=False)
    units = models.IntegerField(null=False, blank=False)
    date_insert = models.DateTimeField(auto_now_add=True)
    date_last_modification = models.DateTimeField(auto_now=True) 

    def __unicode__(self):
        return self.deliveryrequest

    class Meta: # To order in the admin by name of the section
        ordering = ['biketype']  

我忘了明确地说这是一个前端表单。我需要能够插入一个 "DeliveryRequests“注册一个或多个 "DeliveryRequestBikes”

我应该使用哪一个,Formset还是内联Formset?

请给我一些建议。

诚挚的问候,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-14 20:24:07

内联格式集是模型模板集之上的一个小抽象层。这些简化了通过外键处理相关对象的情况。

似乎内联表单正是您想要的。还可以指定要为一个DeliveryRequestBikes允许多少个DeliveryRequests

试一试:

代码语言:javascript
复制
from django.forms.models import inlineformset_factory
DeliveryRequestBikesFormSet = inlineformset_factory(DeliveryRequests, DeliveryRequestBikes, fk_name="deliveryrequest")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16551926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档