我有2个型号。
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
class Reservation(models.Model)
person = ForeiginKey(Perrson, on_delete=models.PROTECT)
from_date = models.DateField()
to_date = models.DateField()
我想预约。 如何制作表格以便第一个字段“人”可以搜索人并将找到的数据添加到表单字段中,如果不存在则添加新人。
答案 0 :(得分:0)
我建议您查看django smart selects因为它可能会派上用场。
您的模型将更改为:
from smart_selects.db_fields import ChainedForeignKey
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
class Reservation(models.Model)
person = ChainedForeignKey(
Person,
chained_field="Person",
chained_model_field="Person",
show_all=False,
auto_choose=True,
sort=True)
from_date = models.DateField()
to_date = models.DateField()
接下来,您将创建一个表单并将其呈现在模板中。只要您在person
字段中选择reservation
字段,系统就会自动更新。
然后使用视图处理您的逻辑if person not exist add new person...