Sakib ovi
Sakib ovi

Reputation: 557

AssertionError: First parameter to ForeignKey must be either a model, a model name, or the string 'self'

I just created a model like this :

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)
    

But facing this error dont have any idea why i am getting this kind of error. I cant even makemigrations if i delete some fields. It says no change detected but i changed some fields still getting this kind of error can some one solve this issue for me. and please explain why ia magetting this kind of error i cant find any problem here. I am also facing this no changes issue on my macos also. i am changing some fields still it says no changes detected .

Upvotes: 0

Views: 2669

Answers (1)

Agustin Gonzalez Ribas
Agustin Gonzalez Ribas

Reputation: 300

Models in django haveto be like:

class ModelClass(models.Model):

Upvotes: 1

Related Questions