class Book(Resource): isbn = fields.CharField(primary_key=True) title = fields.CharField() author = fields.ToOneField('author', Author, get_author_id) class Meta: list = r'^book/$' item = r'^book/(?P<isbn>\d)$' client = self.client
class Profile(Resource): LANGUAGE_CHOICES = ( ('en', 'English'), ('es', 'Spanish'), ) id = fields.IntegerField(primary=True, editable=False) email = fields.CharField() first_name = fields.CharField(verbose_name="First Name", required=False) last_name = fields.CharField(verbose_name="Last Name", required=False) language = fields.CharField(required=True, choices=LANGUAGE_CHOICES) created_by = fields.CharField(editable=False) created_at = fields.CharField(editable=False) modified_by = fields.CharField(editable=False) modified_at = fields.CharField(editable=False) subscriptions = fields.ToManyField( 'subscriptions', 'profiles.models.Subscription', get_itm_params=get_subs_params) class Meta: resource_name = 'profile' list = r'^profiles/$' item = r'^profiles/(?P<id>\d)/$' client = profiles_client
class Author(Resource): id = fields.IntegerField(primary_key=True) name = fields.CharField() class Meta: list = (r'^author/$', 'author_set') item = r'^author/(?P<id>\d)$' client = self.client
class Issue(Resource): id = fields.IntegerField(primary_key=True) title = fields.CharField() description = fields.TextField() class Meta: list = r'^issue/$' item = r'^issue/(?P<id>\d+)$' client = self.client
class Store(Resource): id = fields.IntegerField(primary_key=True) name = fields.CharField() class Meta: resource_name = 'store' list = r'^store/$' item = r'^store/(?P<id>\d)$' client = self.client verbose_name = 'Storage' verbose_name_plural = 'Storages'
class Author(Resource): id = fields.IntegerField(primary_key=True) name = fields.CharField() class Meta: resource_name = 'author' list = (r'^author/$', 'author_set') item = r'^author/(?P<id>\d)$' client = self.client verbose_name = 'Author' verbose_name_plural = 'Authors'
class Book(Resource): some_class_attribute = 'foobar' isbn = fields.CharField(primary_key=True) title = fields.CharField() author = fields.ToOneField('author', Author, get_author_id) objects = BookManager() class Meta: resource_name = 'book' list = r'^book/$' item = r'^book/(?P<isbn>\d)$' client = self.client def __init__(self, *args, **kwargs): self.some_instance_attribute_before_init = 'foobar' super(Book, self).__init__(*args, **kwargs) self.some_instance_attribute_after_init = 'foobar' def get_title(self): return self.title.title()
class Subscription(Resource): VENDOR_CHOICES = ( ('smartfocus', 'Smart Focus'), ) id = fields.IntegerField(primary=True, editable=False) profile = fields.ToOneField('profile', Profile) vendor_slug = fields.CharField(required=True, choices=VENDOR_CHOICES) vendor_name = fields.CharField(editable=False) enabled = fields.BooleanField(default=True) created_by = fields.CharField(editable=False) created_at = fields.CharField(editable=False) modified_by = fields.CharField(editable=False) modified_at = fields.CharField(editable=False) class Meta: resource_name = 'subscription' list = r'^subscriptions/$' item = r'^subscriptions/(?P<id>\d)/$' client = profiles_client
class Book(SimpleResource): title = fields.CharField() class Meta: item = r'^book/(?P<isbn>\d)$' client = self.client