Я создал цветовую модель в django, установив и импортировав colorfield, и она работает, но когда я нажимаю на кнопку сохранения, цвет не сохраняется
В канале администратора цветное поле скриншот------>цветное поле скриншот
когда я нажимаю кнопку (image---->кнопку ) она не сохраняет цвет в продуктах (модели)
В моем models.py:(app name: "core")
from django.db import models
from shortuuid.django_fields import ShortUUIDField
from django.utils.html import mark_safe
from userauths.models import CustomUser
from colorfield.fields import ColorField
class Color(models.Model):
color = ColorField(default='#FF0000')
class Meta:
verbose_name_plural="colors"
user=models.ForeignKey(CustomUser, on_delete=models.SET_NULL ,null=True)
cagtegory=models.ForeignKey(Category, on_delete=models.SET_NULL ,null=True,related_name="category")
vendor=models.ForeignKey(Vendor, on_delete=models.SET_NULL,null=True)
color = ColorField(image_field="image",default=None)
title=models.CharField(max_length=100,default="Apple")
image=models.ImageField(upload_to=user_directory_path,default="product.jpg")
description=models.TextField(null=True, blank=True,default="This is a product")
price = models.DecimalField(max_digits=10, decimal_places=2, default=1.99)
old_price = models.DecimalField(max_digits=10, decimal_places=2, default=2.99)
specifications=models.TextField(null=True, blank=True)
# tags=models.ForeignKey(Tags, on_delete=models.SET_NULL ,null=True)
product_status=models.CharField(choices=STATUS, max_length=10,default="In_review")
status=models.BooleanField(default=True)
in_stock=models.BooleanField(default=True)
featured=models.BooleanField(default=False)
digital=models.BooleanField(default=False)
sku=ShortUUIDField(length=10,max_length=100,prefix="sku",alphabet="abcdef")
date=models.DateTimeField(auto_now_add=True)
updated=models.DateTimeField(null=True,blank=True)
class Meta:
verbose_name_plural="Products"
def product_image(self):
return mark_safe('<img src="%s" width="50" height="50"/>'%(self.image.url))
def __str__(self):
return self.title
def get_percentage(self):
new_price=((self.old_price-self.price)/self.old_price)*100
return new_price
В admin.py:
from django.contrib import admin
from core.models import *
class ProductAdmin(admin.ModelAdmin):
inlines=[ProductImagesAdmin]
list_display=['user','title','product_image','price','featured','product_status','color']
class ColorAdmin(admin.ModelAdmin):
list_display=['color']
admin.site.register(Product,ProductAdmin)
admin.site.register(Color,ColorAdmin)
В моем коде, когда я нажимаю на кнопку сохранения, мои цвета не сохраняются в панели администратора, в остальном все работает отлично. Я также размещаю свою проблему в видео. Я даю вам ссылку YouTube (ссылка на мою проблему):
https://youtu.be/7CTPBAvJEDY
views.py
from django.http import HttpResponse
from django.shortcuts import render
from core.models import *
# from django.db.models import Count
# Create your views here.
def index(request):
# products= Product.objects.all().order_by("-id")
products=Product.objects.filter(product_status="published",featured=True)
context={
"products":products
}
return render(request, 'core/index.html',context)
def product_list_view(request):
# products= Product.objects.all().order_by("-id")
products=Product.objects.filter(product_status="published")
context={
"products":products
}
return render(request, 'core/product_list.html',context)
def category_list_view(request):
categories= Category.objects.all()
# categories= Category.objects.all().annotate(product_count=Count("products"))
context={
"categories":categories
}
return render (request,'core/category_list.html',context)
def category_product_list_view(request,cid):
category= Category.objects.get(cid=cid)
products= Product.objects.filter(product_status="published",cagtegory=category)
context={
"category":category,
"products":products,
}
return render (request, "core/category_product_list.html",context)
forms.py
from django import forms
from userauths.models import *
from django.contrib.auth import get_user_model
from django.contrib.auth.forms import UserCreationForm
class UserAdminCreationForm(UserCreationForm):
# email=forms.EmailField(widget=forms.EmailInput(attrs={"placeholder":"Example@gmail.com"}))
# password1=forms.CharField(widget=forms.PasswordInput(attrs={"placeholder":"Password"}))
# password2=forms.CharField(widget=forms.PasswordInput(attrs={"placeholder":"Confirm_Password"}))
"""
A Custom form for creating new users.
"""
class Meta:
model = get_user_model()
fields = ['email']
Удалите свою базу данных и применяйте
py manage.py makemigrations
и
py manage.py migrate