首页 > 解决方案 > django模型中的forien键

问题描述

我的代码中有 2 个错误:

ValueError: invalid literal for int() with base 10: 'cream'

ValueError: Field 'id' expected a number but got 'cream'.

我的代码包含:

class Colors(models.Model):
    color_code = models.IntegerField(unique=True, blank=True, null=True, verbose_name = ' ')
    color = models.CharField(max_length=50, blank=True, null=True, verbose_name = '')

    class Meta:
        verbose_name = ''
        verbose_name_plural = ''

    def __str__(self):
        return self.color

class Product(models.Model):
    product = models.CharField(max_length=6, choices=PRODUCT_CHOICES,)
    ...
    number = models.ForeignKey("Numbers", related_name="numbers", blank=True, null=True, on_delete=models.CASCADE, verbose_name="")
    color = models.ForeignKey("Colors", related_name='colors', blank=True, null=True, on_delete=models.CASCADE, verbose_name="")
    size = models.ForeignKey("Sizes", related_name='sizes', blank=True, null=True, on_delete=models.CASCADE, verbose_name="")

我的错误是什么?

标签: djangomodel

解决方案


您的代码逻辑不存在,因此无法帮助您编写代码,但是在某处您将 color_code 作为字符串“cream”传递,因为您的字段是整数字段,所以这就是您收到此错误的原因,因此请修复它,这将得到解决。


推荐阅读