![](/img/trans.png)
[英]Django model limit choices based on another model but with a specific field value
[英]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.