いくつかのコードと何を試したかを示していただければ幸いですが、この種のタスクでは、おそらくクラスのobj_create(...)
メソッドをオーバーライドする必要があります。tastypie.resources.ModelResource
次のようになります。
def obj_create(self, bundle, request=None, **kwargs):
"""
A ORM-specific implementation of ``obj_create``.
"""
bundle.obj = self._meta.object_class()
for key, value in kwargs.items():
setattr(bundle.obj, key, value)
bundle = self.full_hydrate(bundle)
# Save FKs just in case.
self.save_related(bundle)
# Save the main object.
bundle.obj.save()
# Now pick up the M2M bits.
m2m_bundle = self.hydrate_m2m(bundle)
self.save_m2m(m2m_bundle)
return bundle
したがって、リソースには次のようなものがあります。
from tastypie.resources import ModelResource
class MyResource( ModelResource ):
def obj_create( self, bundle, request = None, **kwargs ):
# ...
# create User instance based on what's in the bundle
# user = ...
# ...
# kwargs[ 'user' ] = user < will be set on Candidate instance in super()
# ...
# call super, resulting in creation of the Candidate model
super( MyResource, self ).obj_create( self, bundle, request, **kwargs )
そして、これで始められるはずです。問題が発生した場合は、質問をしてコードを提供してください。