products Package

activity Module

class kawaz.apps.products.activity.ProductActivityMediator[source]

Bases: activities.mediator.ActivityMediator

alter(instance, activity, **kwargs)[source]
notifiers = ('twitter_kawaz_info', 'twitter_kawaz_official')
prepare_context(activity, context, typename=None)[source]
class kawaz.apps.products.activity.ReleaseActivityMediator[source]

Bases: activities.mediator.ActivityMediator

alter(instance, activity, **kwargs)[source]
class kawaz.apps.products.activity.ScreenshotActivityMediator[source]

Bases: activities.mediator.ActivityMediator

alter(instance, activity, **kwargs)[source]

admin Module

class kawaz.apps.products.admin.CategoryAdmin(model, admin_site)[source]

Bases: django.contrib.admin.options.ModelAdmin

media
class kawaz.apps.products.admin.PackageReleaseAdmin(model, admin_site)[source]

Bases: django.contrib.admin.options.ModelAdmin

list_display = ('label', 'platform', 'version', 'downloads')
media
readonly_fields = ('downloads',)
search_fields = ('title', 'description')
class kawaz.apps.products.admin.PlatformAdmin(model, admin_site)[source]

Bases: django.contrib.admin.options.ModelAdmin

media
class kawaz.apps.products.admin.ProductAdmin(model, admin_site)[source]

Bases: django.contrib.admin.options.ModelAdmin

last_modifier_nickname(obj)[source]
list_display = ('title', 'last_modifier_nickname', 'get_display_mode_display', 'published_at', 'created_at', 'updated_at')
media
class kawaz.apps.products.admin.ScreenshotAdmin(model, admin_site)[source]

Bases: django.contrib.admin.options.ModelAdmin

media
class kawaz.apps.products.admin.URLReleaseAdmin(model, admin_site)[source]

Bases: django.contrib.admin.options.ModelAdmin

list_display = ('label', 'platform', 'version', 'url', 'pageview')
media
readonly_fields = ('pageview',)

filters Module

class kawaz.apps.products.filters.PlatformListGroupLinkWidget(attrs=None, choices=())[source]

Bases: kawaz.core.filters.widgets.ListGroupLinkWidget

プラットフォームアイコンを一覧に出すWidget

media
option_string()[source]
render_option(name, selected_choices, option_value, option_label)[source]

各要素のタグを描画している BootstrapのListGroupを使用するために以下のようなタグを吐く

<a class=”list-group-item” href=”?platform=1”><img class=”platform-icon” src=”/icon/windows.png”>Windows(10)</a>

render_options(choices, selected_choices, name)[source]
class kawaz.apps.products.filters.ProductFilter(data=None, queryset=None, prefix=None, strict=None, request=None)[source]

Bases: django_filters.filterset.FilterSet

class Meta[source]

Bases: object

fields = ['platforms', 'categories']
model

alias of Product

ProductFilter.base_filters = OrderedDict([('platforms', <django_filters.filters.ModelChoiceFilter object at 0x7f202fe5b860>), ('categories', <django_filters.filters.ModelChoiceFilter object at 0x7f202fea6fd0>)])
ProductFilter.declared_filters = OrderedDict([('platforms', <django_filters.filters.ModelChoiceFilter object at 0x7f202fe5b860>), ('categories', <django_filters.filters.ModelChoiceFilter object at 0x7f202fea6fd0>)])

forms Module

class kawaz.apps.products.forms.PackageReleaseForm(*args, **kwargs)[source]

Bases: kawaz.core.forms.mixins.Bootstrap3InlineFormHelperMixin, django.forms.models.ModelForm

class Meta[source]

Bases: object

fields = ('label', 'platform', 'version', 'file_content')
model

alias of PackageRelease

PackageReleaseForm.base_fields = OrderedDict([('label', <django.forms.fields.CharField object at 0x7f202fe295c0>), ('platform', <django.forms.models.ModelChoiceField object at 0x7f20304ad9b0>), ('version', <django.forms.fields.CharField object at 0x7f202fe13128>), ('file_content', <django.forms.fields.FileField object at 0x7f202fe13240>)])
PackageReleaseForm.declared_fields = OrderedDict()
PackageReleaseForm.form_tag = False
PackageReleaseForm.media
class kawaz.apps.products.forms.ProductBaseForm(*args, **kwargs)[source]

Bases: kawaz.core.forms.mixins.Bootstrap3HorizontalFormHelperMixin, django.forms.models.ModelForm

class Meta[source]

Bases: object

exclude = ()
model

alias of Product

ProductBaseForm.base_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7f2030cc3630>), ('slug', <django.forms.fields.SlugField object at 0x7f202fdb63c8>), ('thumbnail', <django.forms.fields.ImageField object at 0x7f202fdb62b0>), ('description', <kawaz.core.forms.fields.MarkdownField object at 0x7f202fea6048>), ('advertisement_image', <django.forms.fields.ImageField object at 0x7f202fea6908>), ('trailer', <django.forms.fields.URLField object at 0x7f202fdb6b00>), ('project', <django.forms.models.ModelChoiceField object at 0x7f202fea6f98>), ('platforms', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe49d68>), ('categories', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe5b400>), ('contact_info', <django.forms.fields.CharField object at 0x7f202fe290f0>), ('published_at', <django.forms.fields.DateField object at 0x7f202fdb6588>), ('administrators', <kawaz.core.personas.forms.persona.PersonaChoiceField object at 0x7f202fdb6470>), ('display_mode', <django.forms.fields.TypedChoiceField object at 0x7f202fe1bb70>)])
ProductBaseForm.declared_fields = OrderedDict([('description', <kawaz.core.forms.fields.MarkdownField object at 0x7f202fea6048>), ('project', <django.forms.models.ModelChoiceField object at 0x7f202fea6f98>), ('platforms', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe49d68>), ('categories', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe5b400>), ('administrators', <kawaz.core.personas.forms.persona.PersonaChoiceField object at 0x7f202fdb6470>), ('published_at', <django.forms.fields.DateField object at 0x7f202fdb6588>)])
ProductBaseForm.form_tag = False
ProductBaseForm.get_additional_objects()[source]
ProductBaseForm.media
class kawaz.apps.products.forms.ProductCreateForm(*args, **kwargs)[source]

Bases: kawaz.apps.products.forms.ProductBaseForm

class Meta[source]

Bases: kawaz.apps.products.forms.Meta

exclude = ('display_mode',)
ProductCreateForm.base_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7f2030048f98>), ('slug', <django.forms.fields.SlugField object at 0x7f202fe27128>), ('thumbnail', <django.forms.fields.ImageField object at 0x7f202ff05e48>), ('description', <kawaz.core.forms.fields.MarkdownField object at 0x7f202fea6048>), ('advertisement_image', <django.forms.fields.ImageField object at 0x7f202feaa550>), ('trailer', <django.forms.fields.URLField object at 0x7f202feaab70>), ('project', <django.forms.models.ModelChoiceField object at 0x7f202fea6f98>), ('platforms', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe49d68>), ('categories', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe5b400>), ('contact_info', <django.forms.fields.CharField object at 0x7f202fe293c8>), ('published_at', <django.forms.fields.DateField object at 0x7f202fdb6588>), ('administrators', <kawaz.core.personas.forms.persona.PersonaChoiceField object at 0x7f202fdb6470>)])
ProductCreateForm.declared_fields = OrderedDict([('description', <kawaz.core.forms.fields.MarkdownField object at 0x7f202fea6048>), ('project', <django.forms.models.ModelChoiceField object at 0x7f202fea6f98>), ('platforms', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe49d68>), ('categories', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe5b400>), ('administrators', <kawaz.core.personas.forms.persona.PersonaChoiceField object at 0x7f202fdb6470>), ('published_at', <django.forms.fields.DateField object at 0x7f202fdb6588>)])
ProductCreateForm.media
class kawaz.apps.products.forms.ProductUpdateForm(*args, **kwargs)[source]

Bases: kawaz.apps.products.forms.ProductBaseForm

class Meta[source]

Bases: kawaz.apps.products.forms.Meta

exclude = ('slug', 'display_mode')
ProductUpdateForm.base_fields = OrderedDict([('title', <django.forms.fields.CharField object at 0x7f202ff05cf8>), ('thumbnail', <django.forms.fields.ImageField object at 0x7f202fe29048>), ('description', <kawaz.core.forms.fields.MarkdownField object at 0x7f202fea6048>), ('advertisement_image', <django.forms.fields.ImageField object at 0x7f202fe29668>), ('trailer', <django.forms.fields.URLField object at 0x7f202fe296d8>), ('project', <django.forms.models.ModelChoiceField object at 0x7f202fea6f98>), ('platforms', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe49d68>), ('categories', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe5b400>), ('contact_info', <django.forms.fields.CharField object at 0x7f202fe29cc0>), ('published_at', <django.forms.fields.DateField object at 0x7f202fdb6588>), ('administrators', <kawaz.core.personas.forms.persona.PersonaChoiceField object at 0x7f202fdb6470>)])
ProductUpdateForm.declared_fields = OrderedDict([('description', <kawaz.core.forms.fields.MarkdownField object at 0x7f202fea6048>), ('project', <django.forms.models.ModelChoiceField object at 0x7f202fea6f98>), ('platforms', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe49d68>), ('categories', <django.forms.models.ModelMultipleChoiceField object at 0x7f202fe5b400>), ('administrators', <kawaz.core.personas.forms.persona.PersonaChoiceField object at 0x7f202fdb6470>), ('published_at', <django.forms.fields.DateField object at 0x7f202fdb6588>)])
ProductUpdateForm.media
class kawaz.apps.products.forms.ScreenshotForm(*args, **kwargs)[source]

Bases: kawaz.core.forms.mixins.Bootstrap3InlineFormHelperMixin, django.forms.models.ModelForm

class Meta[source]

Bases: object

fields = ('image',)
model

alias of Screenshot

ScreenshotForm.base_fields = OrderedDict([('image', <django.forms.fields.ImageField object at 0x7f202fe29dd8>)])
ScreenshotForm.declared_fields = OrderedDict()
ScreenshotForm.form_tag = False
ScreenshotForm.media
class kawaz.apps.products.forms.URLReleaseForm(*args, **kwargs)[source]

Bases: kawaz.core.forms.mixins.Bootstrap3InlineFormHelperMixin, django.forms.models.ModelForm

class Meta[source]

Bases: object

fields = ('label', 'platform', 'version', 'url')
model

alias of URLRelease

URLReleaseForm.base_fields = OrderedDict([('label', <django.forms.fields.CharField object at 0x7f202fe13320>), ('platform', <django.forms.models.ModelChoiceField object at 0x7f202fe13438>), ('version', <django.forms.fields.CharField object at 0x7f202fe135c0>), ('url', <django.forms.fields.URLField object at 0x7f202fe136d8>)])
URLReleaseForm.declared_fields = OrderedDict()
URLReleaseForm.form_tag = False
URLReleaseForm.media

models Module

class kawaz.apps.products.models.AbstractRelease(*args, **kwargs)[source]

Bases: django.db.models.base.Model

リリース形態のアブストラクトモデル

class Meta[source]

Bases: object

abstract = False
ordering = ('platform__pk', 'product__pk')
AbstractRelease.created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

AbstractRelease.get_next_by_created_at(*moreargs, **morekwargs)
AbstractRelease.get_next_by_updated_at(*moreargs, **morekwargs)
AbstractRelease.get_previous_by_created_at(*moreargs, **morekwargs)
AbstractRelease.get_previous_by_updated_at(*moreargs, **morekwargs)
AbstractRelease.label

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

AbstractRelease.platform

Accessor to the related object on the forward side of a many-to-one or one-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

AbstractRelease.platform_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

AbstractRelease.product

Accessor to the related object on the forward side of a many-to-one or one-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

AbstractRelease.product_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

AbstractRelease.updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

AbstractRelease.version

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class kawaz.apps.products.models.Category(*args, **kwargs)[source]

Bases: django.db.models.base.Model

プロダクトが所属するカテゴリーを表すモデル

e.g. ACT, STG, ADV など

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception Category.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

Category.description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Category.id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Category.label

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Category.objects = <django.db.models.manager.Manager object>
Category.order

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Category.product_set

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class kawaz.apps.products.models.PackageRelease(*args, **kwargs)[source]

Bases: kawaz.apps.products.models.AbstractRelease

ファイル添付形式でのリリースモデル

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception PackageRelease.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

PackageRelease.downloads

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

PackageRelease.file_content

The descriptor for the file attribute on the model instance. Returns a FieldFile when accessed so you can do stuff like:

>>> from myapp.models import MyModel
>>> instance = MyModel.objects.get(pk=1)
>>> instance.file.size

Assigns a file object on assignment so you can do:

>>> with open('/path/to/hello.world', 'r') as f:
...     instance.file = File(f)
PackageRelease.filename

ファイル名を返します

PackageRelease.get_absolute_url()[source]
PackageRelease.get_next_by_created_at(*moreargs, **morekwargs)
PackageRelease.get_next_by_updated_at(*moreargs, **morekwargs)
PackageRelease.get_previous_by_created_at(*moreargs, **morekwargs)
PackageRelease.get_previous_by_updated_at(*moreargs, **morekwargs)
PackageRelease.id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

PackageRelease.mimetype

Mimetypeを返します

PackageRelease.objects = <django.db.models.manager.Manager object>
PackageRelease.platform

Accessor to the related object on the forward side of a many-to-one or one-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

PackageRelease.product

Accessor to the related object on the forward side of a many-to-one or one-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

class kawaz.apps.products.models.Platform(*args, **kwargs)[source]

Bases: django.db.models.base.Model

プロダクトがサポートしているプラットフォームを表すモデル

e.g. Windows, Mac, Browser, iOS, PS Vita など

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception Platform.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

Platform.icon

Just like the FileDescriptor, but for ImageFields. The only difference is assigning the width/height to the width_field/height_field, if appropriate.

Platform.id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Platform.label

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Platform.objects = <django.db.models.manager.Manager object>
Platform.order

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Platform.packagerelease_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

Platform.products

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

Platform.urlrelease_set

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class kawaz.apps.products.models.Product(*args, **kwargs)[source]

Bases: django.db.models.base.Model

完成したプロダクトを表すモデル

メンバーであれば誰でも作成・管理可能

DISPLAY_MODES = (('featured', <django.utils.functional.lazy.<locals>.__proxy__ object at 0x7f2031554e80>), ('tiled', <django.utils.functional.lazy.<locals>.__proxy__ object at 0x7f2031585080>), ('normal', <django.utils.functional.lazy.<locals>.__proxy__ object at 0x7f20315850b8>))
exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception Product.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

Product.administrators

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

Product.advertisement_image

Enhanced ImageFileDescriptor

Just like the ImageFileDescriptor, but for ThumbnailField. The only difference is removing previous Image and Thumbnails from storage when the value has changed.

Product.categories

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

Product.clean()[source]
Product.contact_info

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.created_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.description

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.display_mode

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.get_absolute_url()[source]
Product.get_display_mode_display(*moreargs, **morekwargs)
Product.get_next_by_created_at(*moreargs, **morekwargs)
Product.get_next_by_published_at(*moreargs, **morekwargs)
Product.get_next_by_updated_at(*moreargs, **morekwargs)
Product.get_previous_by_created_at(*moreargs, **morekwargs)
Product.get_previous_by_published_at(*moreargs, **morekwargs)
Product.get_previous_by_updated_at(*moreargs, **morekwargs)
Product.id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.join(user)[source]

指定されたユーザーを管理者にする

ユーザーに参加権限がない場合は PermissionDenied を投げる

Product.last_modifier

Accessor to the related object on the forward side of a many-to-one or one-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

Product.last_modifier_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.objects = <django.db.models.manager.Manager object>
Product.packagereleases

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

Product.platforms

Accessor to the related objects manager on the forward and reverse sides of a many-to-many relation.

In the example:

class Pizza(Model):
    toppings = ManyToManyField(Topping, related_name='pizzas')

pizza.toppings and topping.pizzas are ManyToManyDescriptor instances.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

Product.project

Accessor to the related object on the forward side of a many-to-one or one-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

Product.project_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.published_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.quit(user)[source]

指定されたユーザーを管理者から外す

ユーザーに脱退権限がない場合は PermissionDenied を投げる

Product.save(force_insert=False, force_update=False, using=None, update_fields=None)

Saves the current instance. Override this in a subclass if you want to control the saving process.

The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.

Product.screenshots

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

Product.slug

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.thumbnail

Enhanced ImageFileDescriptor

Just like the ImageFileDescriptor, but for ThumbnailField. The only difference is removing previous Image and Thumbnails from storage when the value has changed.

Product.title

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.trailer

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.updated_at

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Product.urlreleases

Accessor to the related objects manager on the reverse side of a many-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

parent.children is a ReverseManyToOneDescriptor instance.

Most of the implementation is delegated to a dynamically defined manager class built by create_forward_many_to_many_manager() defined below.

class kawaz.apps.products.models.Screenshot(*args, **kwargs)[source]

Bases: django.db.models.base.Model

プロダクトのスクリーンショットモデル

プロダクト管理者は何枚でもプロダクトに関連付けることが出来る

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception Screenshot.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

Screenshot.id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

Screenshot.image

Enhanced ImageFileDescriptor

Just like the ImageFileDescriptor, but for ThumbnailField. The only difference is removing previous Image and Thumbnails from storage when the value has changed.

Screenshot.objects = <django.db.models.manager.Manager object>
Screenshot.product

Accessor to the related object on the forward side of a many-to-one or one-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

Screenshot.product_id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class kawaz.apps.products.models.URLRelease(*args, **kwargs)[source]

Bases: kawaz.apps.products.models.AbstractRelease

URL指定形式でのリリースモデル。主に外部ホスティングでのリリース用

e.g. iTunes App Store, Google Play, Vector など

exception DoesNotExist

Bases: django.core.exceptions.ObjectDoesNotExist

exception URLRelease.MultipleObjectsReturned

Bases: django.core.exceptions.MultipleObjectsReturned

URLRelease.PLAY_NOW_PLATFORM_LABELS = ['ブラウザ']
URLRelease.app_id

そのリリースがiOSアプリかAndroidアプリだった場合は、そのアプリのAppIDを取得して返します そうではない場合、空白文字を返します

URLRelease.get_absolute_url()[source]
URLRelease.get_next_by_created_at(*moreargs, **morekwargs)
URLRelease.get_next_by_updated_at(*moreargs, **morekwargs)
URLRelease.get_previous_by_created_at(*moreargs, **morekwargs)
URLRelease.get_previous_by_updated_at(*moreargs, **morekwargs)
URLRelease.id

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

URLRelease.is_appstore

App Store の URL か否か

URLRelease.is_googleplay

Google Play の URL か否か

URLRelease.is_play_now()[source]
URLRelease.objects = <django.db.models.manager.Manager object>
URLRelease.pageview

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

URLRelease.platform

Accessor to the related object on the forward side of a many-to-one or one-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

URLRelease.product

Accessor to the related object on the forward side of a many-to-one or one-to-one relation.

In the example:

class Child(Model):
    parent = ForeignKey(Parent, related_name='children')

child.parent is a ForwardManyToOneDescriptor instance.

URLRelease.url

A wrapper for a deferred-loading field. When the value is read from this object the first time, the query is executed.

class kawaz.apps.products.models.UnsavedForeignKey(to, on_delete=None, related_name=None, related_query_name=None, limit_choices_to=None, parent_link=False, to_field=None, db_constraint=True, **kwargs)[source]

Bases: django.db.models.fields.related.ForeignKey

allow_unsaved_instance_assignment = True

perms Module

class kawaz.apps.products.perms.ProductPermissionLogic[source]

Bases: permission.logics.base.PermissionLogic

allowed_permissions = ('products.add_product', 'products.change_product', 'products.delete_product', 'products.join_product', 'products.quit_product')
has_perm(user_obj, perm, obj=None)[source]

urls Module

views Module

class kawaz.apps.products.views.PackageReleaseDetailView(**kwargs)[source]

Bases: django.views.generic.detail.DetailView

get(request, *args, **kwargs)[source]
model

alias of PackageRelease

class kawaz.apps.products.views.ProductCreateView(**kwargs)[source]

Bases: kawaz.apps.products.views.ProductFormMixin, django.views.generic.edit.CreateView

dispatch(request, *args, **kwargs)
form_class

alias of ProductCreateForm

form_valid(*args, **kwargs)[source]
get(request, *args, **kwargs)[source]
get_form(form_class=<class 'kawaz.apps.products.forms.ProductCreateForm'>)[source]
get_success_message(cleaned_data)[source]
model

alias of Product

post(request, *args, **kwargs)[source]
class kawaz.apps.products.views.ProductDeleteView(**kwargs)[source]

Bases: kawaz.core.views.delete.DeleteSuccessMessageMixin, django.views.generic.edit.DeleteView

dispatch(request, *args, **kwargs)
get_success_message()[source]
model

alias of Product

success_url = <django.utils.functional.lazy.<locals>.__proxy__ object>
class kawaz.apps.products.views.ProductDetailView(**kwargs)[source]

Bases: django.views.generic.detail.DetailView

model

alias of Product

class kawaz.apps.products.views.ProductFormMixin[source]

Bases: django.contrib.messages.views.SuccessMessageMixin

form_invalid(form, url_release_formset, package_release_formset, screenshot_formset)[source]
form_valid(form, url_release_formset, package_release_formset, screenshot_formset)[source]
get(request, *args, **kwargs)[source]
get_form_kwargs()[source]
get_package_release_formset()[source]
get_screenshot_formset()[source]
get_url_release_formset()[source]
post(request, *args, **kwargs)[source]
class kawaz.apps.products.views.ProductListView(**kwargs)[source]

Bases: django_filters.views.FilterView

filterset_class

alias of ProductFilter

model

alias of Product

paginate_by = 20
template_name_suffix = '_list'
class kawaz.apps.products.views.ProductPreviewView(**kwargs)[source]

Bases: kawaz.core.views.preview.SingleObjectPreviewViewMixin, django.views.generic.detail.DetailView

model

alias of Product

template_name = 'products/components/product_detail.html'
class kawaz.apps.products.views.ProductUpdateView(**kwargs)[source]

Bases: kawaz.apps.products.views.ProductFormMixin, django.views.generic.edit.UpdateView

dispatch(request, *args, **kwargs)
form_class

alias of ProductUpdateForm

get(request, *args, **kwargs)[source]
get_success_message(cleaned_data)[source]
model

alias of Product

post(request, *args, **kwargs)[source]
class kawaz.apps.products.views.URLReleaseDetailView(**kwargs)[source]

Bases: django.views.generic.detail.DetailView

get(request, *args, **kwargs)[source]
model

alias of URLRelease