簡體   English   中英

基於另一個模型的Django模型選擇

[英]Django Model choices based off another model

對不起,如果這令人困惑,我對 Django 仍然有點陌生。 所以基本上我有兩個模型,我希望從一個模型中進行選擇,以獲得另一個模型的所有選擇。 所以基本上:

class Show(models.Model):

venue = models.CharField(max_length=100, choices = VENUE NAME)

class Venues(models.Model):
Name = models.CharField(max_length=100)

本質上,我希望場地有一個輸入到該模型中的場地名稱列表。 這可能嗎?

在您的情況下,您應該使用多對一的外鍵

它使您可以從Show對象訪問Venues對象,並且很容易將其添加到您的模型中。

class Show(models.Model):
    venue = models.ForeignKey('Venues', on_delete=models.CASCADE)

class Venues(models.Model):
    name = models.CharField(max_length=100)

要獲得您的選擇,您可以使用:

Venues.objects.all()

然后您唯一需要的是將對象或 ID 添加到您的Show對象並保存。

選擇也很好,但在這種情況下不是。 例如,當您需要一些常量並為用戶提供如下選擇時:

class Show(models.Model):
    VENUES_CHOICES = (
        (RESTAURANT, 'restaurant'),
        (PUB, 'pub'),
    )

    venues = models.IntegerField(choices=VENUES_CHOICES, default=RESTAURANT)

在我看來,在訂單狀態下使用它很棒。

在 Venues 模型中添加這樣的str def 就可以了

def __str__ (self):
    return self.name

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM