【问题标题】:Django tastypie creating resources in two related modelsDjango sweetpie 在两个相关模型中创建资源
【发布时间】:2014-10-25 07:44:08
【问题描述】:

我有两个模型,我想为模型 1 提供一个 api,当发布时应该在模型 1 和模型 2 中创建资源,其中模型 2 通过外键与模型 1 相关。请找到我的模型和资源供您参考,

class model1(models.Model):
   name = models.CharField(max_length = 60)


class model2(models.Model):
  var = models.BooleanField()
  modelid = models.ForeignKey(model1,related_name = 'amenities')


class model1Resource(ModelResource):
  amenities = fields.ToManyField(model2Resource,'amenities',full = True)  
  class  Meta:
     authorization = Authorization()
     queryset = model1.objects.all()
     resource_name = 'postrequirement'
     allowed_methods = ['post']

class model2Resource(ModelResource):
  class Meta:
     queryset = model2.objects.all()
     resource_name = 'getamenities'
     allowed_methods = ['get','post']

【问题讨论】:

    标签: python django rest tastypie


    【解决方案1】:

    使用 Manager 类:

    class model2Manager(models.Manager):
        def createModel2WithAmenity(self, var, name):
            m2 = self.create(var=var)
            m2.modelid_set.create(name=name)
    
    class model2:
        ....
        objects = model2Manager()
    

    调用 model2.createModel2WithAmenity(var, name) 来创建对。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      • 2019-10-27
      • 2016-08-15
      • 1970-01-01
      • 2013-04-26
      • 1970-01-01
      相关资源
      最近更新 更多