2013-04-18 3 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() 

오른쪽 그 후, 그것은이 이벤트에 초대 다른 사람, 사용자가 선택하는 다른 날짜를 게시합니다. 다음은 모델입니다.

하나의 요청으로이 세 가지 모델을 작성하고 싶습니다. 지금까지 세 가지 요청을해야합니다. 어떻게 할 수 있는지 알 수가 없습니다.

어떤 아이디어라도 높이 평가 될 것입니다. 귀하의 모델을 작동해야

답변

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_dates'속성이 없습니다." –

+0

또한 올바르게 이해하면 조인 테이블이 생성되므로 내 EventDate 이후에는이를 피하고 싶습니다. 리소스는 이미 이벤트 외래 키와 함께 일종의 조인 테이블입니다. –

관련 문제