class Venues(models.Model):
..........
..........
category=models.ForeignKey(Category)
class Category(models.Model):
club=models.CharField()
bar=models.CharField()
adult=models.CharField()
这些是我的模特。我是一个django新手所以请原谅这个相当简单的问题。我希望每个Venue对象都有一个从类别列表中选择的类别(即俱乐部,酒吧或成人)。所以每个类别 - 俱乐部,酒吧,成人 - 都可以有很多场地,但就像我说每个场地都有一个类别。
所以我完全接近我想要完成的事情,或者这完全错了?请帮忙。感谢
答案 0 :(得分:0)
您的Category
可能有一个名为type
的字段,该字段可以是'club','bar','adult'字符串。你也可以让一个带有char字段的Venue并给它一组固定的choices。因此,正如您所看到的,已经有几种方法可以解决您设置数据库的方式。场地可以有多个类别吗?如果是这样,您可能想要使用manytomany字段。
我认为如果您想添加一个新类别,您需要在代码中手动添加它,其中一个问题就在于此。如果您选择仅给出Category
类型字段,则用户可以从管理员添加新类别而无需更改任何代码。
如果您想知道如何向Venue实际添加类别,首先需要获取类别实例。这可以通过检索已经在数据库中的一个或创建一个新的
来完成category = Category.objects.get(pk=1)
接下来,你可以使用该类别创建一个新的场地
new_venue = Venue(category=category, other_args)
new_venue.save()
将使用该类别保存新的场地。 Django documentation提供了很好的参考。