第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

顯示外鍵值

顯示外鍵值

繁花不似錦 2022-10-25 11:00:33
我的 models.py 看起來像這樣:class Order(models.Model):    items = models.ManyToManyField(OrderItem)class OrderItem(models.Model): (item in the cart)   item = models.ForeignKey(Item, on_delete=models.CASCADE)class Item(models.Model):    title = models.CharField(max_length=100)    price = models.FloatField()    discount_price = models.FloatField(blank=True, null=True)    label = models.ManyToManyField(Label, blank=True)    slug = models.SlugField(unique=True)    description = models.TextField()class Bike(models.Model):    item = models.OneToOneField(Item, on_delete=models.CASCADE)    brand = models.ManyToManyField(Brand)    size = models.ManyToManyField(Size, blank=True)class Accessory(models.Model):    item = models.OneToOneField(Item, on_delete=models.CASCADE)    brand_accessory = models.ManyToManyField(BrandAccessory)所以目前item我OrderItem模型中的字段顯示模型中項目的標(biāo)題和數(shù)量Item:def __str__(self):    return f"{self.quantity} of {self.item.title}"ItemOneToOneField與Bike和連接Accessory。是否可以顯示品牌和尺寸,Bike如果它被添加到OrderItem,brand_accessory如果Accessory被添加到OrderItem?它看起來像 {quantity} {item.title}(如果是自行車)> {bike.brand} {bike.size}(如果附件)> {accessory.brand_accessory}
查看完整描述

1 回答

?
臨摹微笑

TA貢獻(xiàn)1982條經(jīng)驗 獲得超2個贊

您可以使用hasattr檢查您item是否需要 OneToOneField

class OrderItem(models.Model):


    ...


    def __str__(self):

        if hasattr(self.item, 'bike'):

            #get value you need like: self.item.bike.brand

        if hasattr(self.item, 'accessory'):

            #get value you need like: self.item.accessory.brand_accessory

        return #get values you need together


查看完整回答
反對 回復(fù) 2022-10-25
  • 1 回答
  • 0 關(guān)注
  • 68 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號