前提・実現したいこと
メルカリのようなものを作っており、ユーザーが出品した商品と、そのユーザーを紐付けたいので、カスタムユーザーにForeignKey
を付けたところ
product = models.ForeignKey(Product, on_delete=models.CASCADE)
NameError: name 'Product' is not defined
というエラーが出てしまいます。
カスタムユーザークラスでは、外部キーをつけることはできないのでしょうか?
もし他に方法がありましたら、
ご教授のほど、どうぞよろしくお願いいたします。
該当のソースコード
models.py
class Users の product = のところに外部キーを付与しました。
class Users(AbstractBaseUser,PermissionsMixin ): email = models.EmailField(max_length=30, unique=True) username = models.CharField(max_length=30, unique=True) password = models.CharField(max_length=30,) confirm_password = models.CharField(max_length=30,) grade = models.CharField(max_length=20) student_num = models.CharField(max_length=8) is_active = models.BooleanField(default=True) is_staff = models.URLField(default=False) product = models.ForeignKey(Product, on_delete=models.CASCADE) bjects = UserManager() USERNAME_FIELD ='email' #このレコードを識別する REQUIRED_FIELDS =['username']#スーパーユーザー作成時に使用する class Meta: db_table='users' def __str__(self): return self.email class Product(models.Model): product_name = models.CharField(max_length=50) product_description = models.CharField(max_length=200) product_status = models.CharField(max_length=50) product_delivery = models.CharField(max_length=50) price = models.IntegerField() product_picture1 = models.FileField(upload_to='product_picture1/') product_picture2 = models.FileField(upload_to='product_picture2/') product_picture3 = models.FileField(upload_to='product_picture3/') lecture_name = models.CharField(max_length=100) faculty = models.CharField(max_length=50) department = models.CharField(max_length=50) grade = models.CharField(max_length=50) place = models.CharField(max_length=20) class Meta: db_table = 'product' def __str__(self): return self.products_name
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/13 13:14