小编Syg*_*gol的帖子

在 Django 中使用“_id”

当我们将 ORM 与某些使用外键的模型一起使用时,我对 Django 如何处理 '_id' 属性感到有些困惑。例如:

class CartItem(models.Model):
    user = models.ForeignKey('accounts.CustomUser', related_name='carts', on_delete=models.CASCADE, verbose_name='User')
    product = models.ForeignKey('pizza.Product', related_name='carts', on_delete=models.CASCADE, verbose_name=_('Product'))
    quantity = models.SmallIntegerField(verbose_name=_('Quantity'))
Run Code Online (Sandbox Code Playgroud)

当我将 ORM 与“过滤器”一起使用时,我可以轻松使用以下内容:

CartItem.objects.filter(user=1, product=1, quantity=1)
Run Code Online (Sandbox Code Playgroud)

Django 有点“看到”,我指的是“id”,但是当我使用完全相同的代码行,但使用“创建”而不是“过滤器”时:

CartItem.objects.create(user=1, product=1, quantity=1)
Run Code Online (Sandbox Code Playgroud)

然后它抛出一个错误说:

无法分配“1”:“CartItem.user”必须是“CustomUser”实例。

要创建它,我需要使用:

CartItem.objects.create(user_id=1, product_id=1, quantity=1)
Run Code Online (Sandbox Code Playgroud)

这是为什么?这里有什么我不明白的规则吗?

python django django-orm

5
推荐指数
1
解决办法
1523
查看次数

如何使用javascript仅更改所选选项的背景颜色?

当用户选择某个选项时,我试图更改背景颜色。我用 onchange 函数做到了,它只包含:

function colorSameValues(select, color){
    for (var i=0; i<selects.length; i++){
        if (selects[i].value ==='') selects[i].style.backgroundColor='';
        if (selects[i].value === select.value) selects[i].style.backgroundColor=color;
    }
}
Run Code Online (Sandbox Code Playgroud)

但它会改变所有选项的背景颜色。

我还在互联网上看到如何更改所选选项的颜色,但它不会更改显示的选项,就像这里(第一个响应) - Change the color of an option when selected - JavaScript

我想对显示的选项进行着色,当用户单击此选择以查看其他选项时,我希望它们根本不着色。有任何想法吗?

这就是我想要得到的

html javascript

-2
推荐指数
1
解决办法
9760
查看次数

标签 统计

django ×1

django-orm ×1

html ×1

javascript ×1

python ×1