Hi,

that with the Attributes might be a good Idea. I went another way, as I wanted to have and define my new Product-Attributes totally independently from the Django-Core. (This allows for custom model-methods, adding all you need for the attributes (description, pictures, etc.) and so on without troubling my mind with overriding any other models. If you don't need any of that, it might be a good idea to use the attributes. Still, I think you're seeing some things a little bit more complicated than they actually are:

On 18.09.2012 17:14, Josue Balandrano wrote:
Actually, something like that is what I was thinking last night while fliping through the pages of my Django Book. I was thinking about using the Attributes model that Satchmo allready has, just to make it easier for future updates and so.
With my approach you shouldn't touch the core-code at all, so updates wouldn't be an issue. You should create all these new Model-Classes on a local-app in your project, something like:

satchmoproject/store/localsite/prodattributes/models.py

There you create a Model for each Group: Color, Material, etc. As I already posted.

and on: satchmoproject/localsite/prodattributes/admin.py ... you add the part for the inlines. And if you want to, you can also add each model too, to batch edit attributes, etc.

Then creating the values throught the python shell or raw SQL statements, so I would have Attribute.Name=Color, Attrubte.Values=[white,black,golden, [etc...]] Then creating custom validations for this attributes which will not let the staff user to add more values than the values that allready exists in the DB. This way the staff user could only choose between the values that I allready populated (or any other admin user that know what he/she is doing).
About the user-restriction to change/delete/create attributes, well you probably can adjust permissions for a group of users (the normal users) to not to be able to change, add, delete anything in the prodattributes-app. And the admins can still use the admin for managing these. I'm not 100% sure if this users would still be able to select the inline attributes on the product-pages or not, but if that's no problem, then this would be the easiest way of achieving this.
This way I'm only going to have to create some views in order to retrieve this Attrbutes to display them the way I want. Something like doing a search of the attributes giving an array with the slugs and sorting them by Value, grouping the same value, and then by Attribute Name. This way I can create a list like this:
{% retrieve_special_atts "[custom slug a rray]" as Attributes %}
<ul>
 <li>
    {% for atname in Attributes %}
    {{ Attributes.Name }}
         <ul>
             {% for value in Attributes.values %}
              <li> {{value.name}} </li>
              {%endfor%}
         </ul>
      {%endfor%}
 </li>
</ul
This is not finished, because I will also need this not to be a list but a form. So every Attribute Value would be a checkbox, and whenever a user ticks any of the attribute values would call a filtering function wich would read the category that the user allready is in and the get data which will have the attribute filter values and fitler the products accordingly.

yes, that's something similar to what I did. I implemented a box on the right side-bar to filter products based on the selected checkboxes (without Ajax though... on my version the user needs to press an "apply" button). You can use context-processors to set the filter-settings "globally" and adjust your views/templates for the category listings and search to use this filter-settings in case they are set.

Regards,
Andrea

El lunes, 17 de septiembre de 2012 11:38:47 UTC-5, adlh escribió:

    Hi,

    I wouldn't do it with tags.

    The first reason: they use generic relations so it can be
    sometimes more complex to make things work the same as with
    "normal" relations. But the main reason for me to avoid using tags
    in your case would be, that it would be very difficult to group
    your attributes, like Material: gold, silver, .... Colors: red,
    green, ... , etc. And lets say use something like a filter-box or
    something based on this goups.

    I think a more flexible and still very easy approach would be to
    use a model for each attribute-group, like:

    class Color(models.Model):
        product = models.ManyToManyField(Product, blank=True, null=True)
        name = models.CharField(_("Name"), max_length=30)
        slug = models.SlugField(...)

    So this way you can filter your products on a selected color like:

    Product.objects.filter(color__slug==myslug)

    You can integrate this Attributes on the admin Product-page adding
    an inline to the object

    For integrating this new attributes on the admin's product page,
    look at my answer (username = andzep) on stackoverflow:

    http://stackoverflow.com/questions/4920358/filter-products-by-attribute
    <http://stackoverflow.com/questions/4920358/filter-products-by-attribute>

    regards
    Andrea


    On 17.09.2012 16:44, satchm...@googlegroups.com <javascript:> wrote:
    Today's Topic Summary

    Group: http://groups.google.com/group/satchmo-users/topics
    <http://groups.google.com/group/satchmo-users/topics>

      * Satchmo and Django-tagging
        <#5057520B.3050605@metamorfosys.de_group_thread_0> [1 Update]

    Satchmo and Django-tagging
    <http://groups.google.com/group/satchmo-users/t/7a996e7db020800e>

        Josue Balandrano <xir...@gmail.com> <javascript:> Sep 16
        12:16PM -0700

        Hi, I'm building a webstore. I am going to sell Jewelry here,
        so the thing
        is that I have my main categories like "earrings, necklaces"
        and so on. But
        I need some attributes like "Material, color, stone, size".
        But these can't
        be Options because not every product is available in all
        colors or all
        sizes and I don't fell comfortable with attributes because I
        need a way to
        list all this attributes and be able to filter the result as
        per attribute
        selected.
        So I was thinking about installing Django-tagging, it seemes
        this is more
        or less what I need. The only problem is if I am going to be
        able to have a
        tree like distribution for my tagging? and do I have to
        modify the product
        models in order to implement the tagging?
        Thank you in advance.

    You received this message because you are subscribed to the
    Google Group satchmo-users.
    You can post via email <javascript:>.
    To unsubscribe from this group, send <javascript:> an empty message.
    For more options, visit
    <http://groups.google.com/group/satchmo-users/topics> this group.

-- You received this message because you are subscribed to the
    Google Groups "Satchmo users" group.
    To post to this group, send email to satchm...@googlegroups.com
    <javascript:>.
    To unsubscribe from this group, send email to
    satchmo-user...@googlegroups.com <javascript:>.
    For more options, visit this group at
    http://groups.google.com/group/satchmo-users?hl=en
    <http://groups.google.com/group/satchmo-users?hl=en>.

--
    ----
    *Metamorfosys GbR*
    Guttenthau 6
    95469 Speichersdorf
T: +49 9648 913 594
    F: +49 9648 913 643
in...@metamorfosys.de <javascript:> www.metamorfosys.de <http://www.metamorfosys.de>
    Geschäftsführung: Andrea de la Huerta u. Dominik Klüter
    Gerichtsstand: Ansbach m. Außenst.

    -------------------------------------------------------------------------
    -------------------------------------------------------------------------
    Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
    Informationen. Wenn Sie nicht der richtige Adressat sind oder diese
    E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den
    Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie
    die unbefugte Weitergabe dieser Mail ist nicht gestattet.
    -------------------------------------------------------------------------
    This e-mail may contain confidential and/or privileged information. If
    you are not the intended recipient (or have received this e-mail in
    error) please notify the sender immediately and destroy this e-mail. Any
    unauthorized copying, disclosure or distribution of the material  in
    this e-mail is strictly forbidden.
    -------------------------------------------------------------------------
    -------------------------------------------------------------------------


--

----
*Metamorfosys GbR*
Guttenthau 6
95469 Speichersdorf
T: +49 9648 913 594
F: +49 9648 913 643
i...@metamorfosys.de <mailto:adlhue...@metamorfosys.de> www.metamorfosys.de <http://www.metamorfosys.de>
Geschäftsführung: Andrea de la Huerta u. Dominik Klüter
Gerichtsstand: Ansbach m. Außenst.

-------------------------------------------------------------------------
-------------------------------------------------------------------------
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
Informationen. Wenn Sie nicht der richtige Adressat sind oder diese
E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den
Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie
die unbefugte Weitergabe dieser Mail ist nicht gestattet.
-------------------------------------------------------------------------
This e-mail may contain confidential and/or privileged information. If
you are not the intended recipient (or have received this e-mail in
error) please notify the sender immediately and destroy this e-mail. Any
unauthorized copying, disclosure or distribution of the material  in
this e-mail is strictly forbidden.
-------------------------------------------------------------------------
-------------------------------------------------------------------------

--
You received this message because you are subscribed to the Google Groups "Satchmo 
users" group.
To post to this group, send email to satchmo-users@googlegroups.com.
To unsubscribe from this group, send email to 
satchmo-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/satchmo-users?hl=en.

Reply via email to