2013-04-18 78 views
0

以下是我正在嘗試執行的操作:同時發佈多個tastypie資源

用戶在我的應用程序中創建一個事件。這裏的模型:

class Event(models.Model): 
    name = models.CharField(max_length=40) 
    organizer = models.ForeignKey(UserProfile) 
    description = models.TextField(null=True) 
    place = models.TextField(null=True) 
    confirmed = models.BigIntegerField(null=True) 
    organizer_part = models.BooleanField(default=True) 
    slug = models.SlugField() 

緊接着的是,它的職位不同的人應邀參加了此次盛會,並在不同的日期,用戶選擇。這裏是模型:

class EventDate(models.Model): 
    """Correspondances date-event""" 
    event = models.ForeignKey(Event) 
    date = models.BigIntegerField() 


class EventPeople(models.Model): 
    """Correspondances personne-event""" 
    event = models.ForeignKey(Event) 
    phone_number = models.PositiveIntegerField() 
    name = models.CharField(max_length=32) 
    answer = models.BooleanField() 
    participation = models.NullBooleanField() 

我想只填寫這三個模型中的一個請求。到目前爲止,我必須提出三個請求。我看不出我該怎麼做。

任何想法將不勝感激。

回答

0

資源應該與你的模型的工作是:

class EventResource(ModelResource): 
    event_dates = fields.ToManyField(EventDateResource, 'event_dates') 
    event_peoples = field.ToManyField(EventPeopleResource, 'event_peoples') 
    class Meta: 
      queryset = Event.objects.all() 

你也需要創建簡單EventDateResource和EventPeopleResource。在YOUT模型

一個多一個變化,你需要添加related_names:

class EventDate(models.Model): 
    """Correspondances date-event""" 
    event = models.ForeignKey(Event, related_name='event_dates') 
    date = models.BigIntegerField() 


class EventPeople(models.Model): 
    """Correspondances personne-event""" 
    event = models.ForeignKey(Event, related_name='event_peoples') 
    phone_number = models.PositiveIntegerField() 
    name = models.CharField(max_length=32) 
    answer = models.BooleanField() 
    participation = models.NullBooleanField() 
+0

現在我要去嘗試這種權利。所以我應該能夠發送如下所示的json數據:{'event_field1':'data1','event_field2':'data2',...,event_dates:[{event:event,date:187675878000},{event :事件,日期:187675878000}]等...?它會一次填充所有表格? –

+0

我收到以下錯誤:「'Event'對象沒有屬性'event_dates'」 –

+0

此外,如果我理解它是正確的,它將創建一個連接表,並且我想避免這種情況,因爲我的EventDate資源已經是一種連接表,帶有事件外鍵。 –