[Python] I am trying to import categories but lines that have a parent is causing an issue

Discussão em 'Python' iniciado por Stack, Abril 25, 2025.

  1. Stack

    Stack Membro Participativo

    I have an empty product category table and I am trying to import categories from a csv file and I can import other categories for other apps but not for products so I had the csv file checked and I'm told it's fine. I get the following errors and they all start at the line that has a parent.


    Line number: 29 - ProductCategory matching query does not exist.

    Line number: 30 - ProductCategory matching query does not exist.

    Line number: 31 - ProductCategory matching query does not exist.

    Line number: 32 - ProductCategory matching query does not exist.

    Line number: 33 - ProductCategory matching query does not exist.
    ​

    If it's a new import why is it looking for an existing category? If I remove all the lines that has a parent then I can import and after importing and putting the lines back that has a parent I get the same error again, which now does not make sense.

    Here is my admin.py file:

    from django.contrib import admin
    from .models import *
    from import_export import resources
    from import_export.admin import ImportExportModelAdmin


    class CategoryResource(resources.ModelResource):
    class Meta:
    model = ProductCategory
    fields = ("id", "name", "description", "parent")


    class ProductCategoryAdmin(ImportExportModelAdmin):
    list_display = ("name", "id", "parent")
    search_fields = ["name", "id", "parent"]
    resource_class = CategoryResource


    class BrandResource(resources.ModelResource):
    class Meta:
    model = Brand
    fields = ("name", "category")


    class BrandAdmin(ImportExportModelAdmin):
    list_display = ("name", "category")
    search_fields = ["name", "category"]
    resource_class = [BrandResource]


    class ProductResource(resources.ModelResource):
    class Meta:
    model = Product
    fields = (
    "id",
    "title",
    "description",
    "price",
    "color",
    "height",
    "width",
    "length",
    "weight",
    "material",
    "digital",
    "condition",
    "cordless",
    "hand_made",
    "power_usage",
    "device_storage",
    "ram",
    "screen_size",
    "cpu",
    "gpu",
    "size",
    "capacity",
    "age",
    "type",
    "gender",
    "sports",
    "business",
    "brand",
    "user",
    "sale",
    )


    class ProductAdmin(ImportExportModelAdmin):
    list_display = ("title", "category", "price", "business")
    search_fields = ["title", "category"]
    resource_classes = [ProductResource]


    class ProductImageAdmin(admin.ModelAdmin):
    list_display = ("product", "image")
    search_fields = ["gallery"]


    class ProductVideoAdmin(admin.ModelAdmin):
    list_display = ("product", "video")
    search_fields = ["product"]


    class CartItemAdmin(admin.ModelAdmin):
    list_display = ('cart', 'product', 'quantity', 'total_price')
    search_fields = ['cart__user__username', 'product__title']
    list_filter = ['cart__user', 'product']
    def total_price(self, obj):
    return obj.total_price()
    total_price.short_description = 'Total Price'


    class CartItemInline(admin.TabularInline):
    model = CartItem
    extra = 0
    readonly_fields = ['total_price']
    fields = ['product', 'quantity', 'total_price']
    def total_price(self, obj):
    if obj.product and obj.quantity:
    return obj.product.price * obj.quantity
    return 0
    total_price.short_description = 'Total Price'
    def get_extra(self, request, obj=None, **kwargs):
    return 1
    def has_add_permission(self, request, obj):
    return obj is not None


    class UserCartAdmin(admin.ModelAdmin):
    list_display = ("user", "display_items")
    search_fields = ["user"]
    inlines = [CartItemInline]
    def display_items(self, obj):
    items = obj.items.all()
    return ", ".join([f"{item.quantity} x {item.product.title}" for item in items])
    display_items.short_description = 'Items in Cart'


    admin.site.register(Product, ProductAdmin)
    admin.site.register(ProductCategory, ProductCategoryAdmin)
    admin.site.register(Brand, BrandAdmin)
    admin.site.register(ProductImage, ProductImageAdmin)
    admin.site.register(ProductVideo, ProductVideoAdmin)
    admin.site.register(CartItem, CartItemAdmin)
    admin.site.register(Cart, UserCartAdmin)


    How do I fix this please?

    Continue reading...

Compartilhe esta Página