Python AssertionError:ForeignKey的第一个参数必须是模型、模型名称或字符串';自我';

Python AssertionError:ForeignKey的第一个参数必须是模型、模型名称或字符串';自我';,python,django,Python,Django,我刚刚创建了这样一个模型: from django.db import models # Create your models here. class Category: title = models.CharField(max_length=50) slug = models.CharField(max_length=200) cat_image = models.ImageField(upload_to='images/') def __str__(s

我刚刚创建了这样一个模型:

from django.db import models

# Create your models here.


class Category:
    title = models.CharField(max_length=50)
    slug = models.CharField(max_length=200)
    cat_image = models.ImageField(upload_to='images/')

    def __str__(self):
        return self.title

class Brand:
    title = models.CharField(max_length=50)
    slug = models.CharField(max_length=200)
    brand_image = models.ImageField(upload_to='images/')

    def __str__(self):
        return self.title

class UOM:
    title = models.CharField(max_length=100)

    def __str__(self):
        return self.title
    
class Product_Images:
    multi_images = models.ImageField(upload_to='images/')



class Product:
    name = models.CharField(max_length=100)
    slug = models.CharField(max_length=200)
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    brand = models.ForeignKey(Brand, on_delete=models.CASCADE)
    price = models.IntegerField(null=True, blank=True)
    height = models.IntegerField(null=True, blank=True)
    weight = models.IntegerField(null=True, blank=True)
    length = models.IntegerField(null=True, blank=True)
    color = models.IntegerField(null=True, blank=True)
    stock = models.BooleanField()
    SKU = models.CharField(max_length=150)


    def __str__(self):
        return self.name


class Customer:
    phone_number = models.CharField(max_length=11)
    first_name = models.CharField(max_length=10)
    last_name = models.CharField(max_length=10)
    email = models.CharField(max_length=20)
    password = models.CharField(max_length=10)


    def __str__(self):
        return self.first_name



class Order:
    customer = models.ForeignKey(Customer, on_delete=models.CASCADE)
    invoice = models.CharField(max_length=16, null=True, blank=True)
    phone = models.CharField(max_length=12)
    address = models.CharField(max_length=150)
    

但是面对这个错误,我不知道我为什么会犯这样的错误。如果删除一些字段,我甚至无法进行迁移。它说没有检测到任何更改,但我更改了一些字段,仍然收到这种错误。有人能帮我解决这个问题吗。请解释为什么我会犯这种错误,我在这里找不到任何问题。我在macos上也面临着这个没有变化的问题。我正在更改一些字段,但它仍然表示未检测到任何更改。

django中的模型必须如下所示:

class ModelClass(models.Model):

难道不是所有的模型都应该从django.db.models继承吗?