added custom autocomplete for category in product admin, still not working correctly
This commit is contained in:
@@ -5,17 +5,17 @@ from . import forms
|
||||
|
||||
# Register your models here.
|
||||
|
||||
class CagtegoryAdmin(admin.ModelAdmin):
|
||||
form = forms.CategoryTagForm
|
||||
class ProductAdmin(admin.ModelAdmin):
|
||||
form = forms.ProductTagForm
|
||||
|
||||
|
||||
'''
|
||||
class ProductInline(admin.TabularInline):
|
||||
model = models.Product
|
||||
form = forms.ProductTagForm
|
||||
'''
|
||||
|
||||
class CategoryInline(admin.TabularInline):
|
||||
model = models.CategoryTag
|
||||
form = forms.CategoryTagForm
|
||||
|
||||
|
||||
admin.site.register(models.Product)
|
||||
admin.site.register(models.Product, ProductAdmin)
|
||||
admin.site.register(models.TreeTag)
|
||||
admin.site.register(models.CategoryTag, CagtegoryAdmin)
|
||||
admin.site.register(models.CategoryTag)
|
||||
admin.site.register(models.AttributeTag)
|
||||
|
||||
@@ -2,13 +2,13 @@ from dal import autocomplete
|
||||
|
||||
from django import forms
|
||||
|
||||
from .models import CategoryTag
|
||||
from .models import CategoryTag, Product
|
||||
|
||||
|
||||
class CategoryTagForm(forms.ModelForm):
|
||||
class ProductTagForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = CategoryTag
|
||||
model = Product
|
||||
fields = ('__all__')
|
||||
widgets = {
|
||||
'category': autocomplete.ModelSelect2(url='cagtegory-autocomplete')
|
||||
'category': autocomplete.ListSelect2(url='category-autocomplete')
|
||||
}
|
||||
|
||||
@@ -60,9 +60,9 @@ class Product(models.Model):
|
||||
update_date = models.DateTimeField('Fecha de actualización de producto', null=True, blank=True)
|
||||
discount = models.DecimalField('Descuento', max_digits=5, decimal_places=2, null=True, blank=True)
|
||||
stock = models.PositiveIntegerField('Stock', null=True, blank=True)
|
||||
tags = TagField(to=TreeTag)
|
||||
tags = TagField(to=TreeTag, blank=True)
|
||||
category = SingleTagField(to=CategoryTag, null=True, blank=True, on_delete=models.SET_NULL) # main tag category
|
||||
attributes = TagField(to=AttributeTag, related_name='product_attributes')
|
||||
attributes = TagField(to=AttributeTag, blank=True, related_name='product_attributes')
|
||||
identifiers = models.TextField('Identificador único de producto', null=True, blank=True)
|
||||
|
||||
# internal
|
||||
|
||||
@@ -223,12 +223,11 @@ class CategoryTagAutocomplete(autocomplete.Select2QuerySetView):
|
||||
Tag = Product.category.tag_model
|
||||
|
||||
# Return nothing if not auth
|
||||
if not self.request.is_authenticated():
|
||||
if self.request.user.is_anonymous:
|
||||
return Tag.objects.none()
|
||||
|
||||
qs = Tag.objects.all()
|
||||
|
||||
if self.q:
|
||||
qs = qs.filter(name__istartswith=self.q)
|
||||
qs = qs.filter(name__icontains=self.q)
|
||||
|
||||
return self.q
|
||||
return qs # [x.label for x in qs]
|
||||
|
||||
Reference in New Issue
Block a user