私はSatchmoフレームワークを持つeshopで作業しています。 ページ(material.html)に同じ種類の品目を持つ製品を表示するために、カスタム属性(品目タイプ)に従って製品をフィルタ処理するためにどの手順を実行する必要があるかを知っていますか? material_view関数を作成する必要があります get_absolute_url関数をオーバーライドする必要がありますか?アトリビュート別にフィルタを適用する
1
A
答えて
0
「カスタム属性」と言うと、別のフィールドを追加するコードproduct.models.Product
を変更したことを意味しますか?
このような場合は、カスタム表示を作成することをお勧めします。
あなたのプロダクトコードが何かのような...
class Product(models.Model):
...
matieral_type = models.CharField(max_length=128)
...
ある場合...あなたは、このようなビューを構築することができます...
def material(request,material_type):
prods = Product.objects.filter(material_type=material_type)
return render_to_response('material.html',{'products',prods},RequestContext(request))
1
あなたは触れずにこれをしたい場合コアコード、私は地元のアプリケーションのlocalsite/productsとmodels.pyを作成します:
class Material(models.Model):
product = models.ManyToManyField(Product, blank=True, null=True)
name = models.CharField(_("Name"), max_length=30)
slug = models.SlugField(_("Slug"), help_text=_("Used for URLs, auto-generated from name if blank"), blank=True, unique=True)
description = models.TextField(_("Description"), blank=True, help_text="Optional")
この新しいアプリケーションを管理者に追加し、さらに製品ページからそれらを利用できるようにする、インラインとしてそれらを追加します。
# if you have lots of products, use the nice horizontal filter from django's admin
class MaterialAdmin(admin.ModelAdmin):
filter_horizontal = ('product',)
class Material_Inline(admin.TabularInline):
model = Material.product.through
extra = 1
admin.site.register(Material, MaterialAdmin)
# Add material to the inlines (needs: from product.admin import Product, ProductOptions)
ProductOptions.inlines.append(Material_Inline)
admin.site.unregister(Product)
admin.site.register(Product, ProductOptions)
を次に、あなたの意見/ URLを適応させることができます:私はあなたを愛して
# urls.py
url(r'^material-list/([\w-]+)/$', material_list, {}, name="material_list"),
# view.py
def material_list(request, slug):
products = Product.objects.filter(material__slug='slug')
return render_to_response('localsite/material/list.html', {'products':products}, context_instance=RequestContext(request))
関連する問題
- 1. VBAに1つのフィルタが既に適用されている場合、別のフィルタを適用する方法
- 2. Symfony/Doctrine:子アトリビュートによるクエリのフィルタ
- 3. 別のワークシートでActiveCellに基づいてフィルタを適用する
- 4. CIScreenBlendModeフィルタを適用する
- 5. ajaxデータにフィルタを適用する
- 6. イオン2 - イオンリストにフィルタを適用する
- 7. フォームフィールドに角度フィルタを適用する
- 8. CSSフィルタを動的に適用する
- 9. フィルタを集約に適用する
- 10. ラリーグリッドビューにフィルタを適用する方法
- 11. 変換後にフィルタを適用する
- 12. AngularJS:テンプレートにフィルタを適用する
- 13. 別のテーブルからアトリビュートにアクセスする
- 14. フィルタ適用時にMeshlabがクラッシュする
- 15. フィルタをグリッドビューに適用する方法(Excelシートにフィルタを適用する方法など)
- 16. フィルタを最適に適用する方法SQL Server Reporting Services
- 17. アトリビュートにアトリビュートを追加する
- 18. フィルタ結果に適用モードを適用します。
- 19. MongoDBを使用する場合、BsonRepresentationアトリビュートを適用する方法
- 20. logcatフィルタをプログラムで適用する
- 21. モバイルTextareaでXSSフィルタを適用する
- 22. Asp.net MVC Razorレスポンステキストにフィルタを適用
- 23. larvelプロジェクトでforeachをフィルタに適用
- 24. Elasticsearch v2.3.5でmulti_matchクエリにフィルタを適用
- 25. メディアサーバーに公開するカメラビデオストリームにフィルタを適用する
- 26. RethinkDBフィルタをインデックス別に区別する
- 27. サーブレットフィルタ - 特定のフィルタにフィルタを適用しない
- 28. Java用のasposeセルの行にフィルタを適用する方法
- 29. hqlをSQLに変換してフィルタを適用するには?
- 30. CIImageにフィルタを適用中にEXC_BAD_ACCESSを取得する[Core Image]
andzepを。私はsatchmoカスタマイズの狂気に行っていたが、この答えは30分でそれを作った! –
これはあなたにとって嬉しかったです。はい、私の最初のプロジェクトであるsatchmoの後で、99.99%のケースで、コアに触れることなく、素敵で小さなソリューションを見つけることができました。しかし、この問題は、主に「どのようにして?」ということを見つけることにあります。 – andzep