Django表格。如何从数据库向表单字段添加、搜索数据

Django表格。如何从数据库向表单字段添加、搜索数据,django,django-models,django-forms,django-views,Django,Django Models,Django Forms,Django Views,我有两个模型 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.Da

我有两个模型

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() 
我想预约。
如何制作表单,以便第一个字段“person”可以搜索person并将找到的数据添加到表单字段,如果person不存在,请添加新的person。

我建议您查看一下,因为这可能会很方便

您的模型将更改为:

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() 
接下来,您将创建一个表单并在模板中呈现它。每当您在表单
预订
字段中选择
人员
时,该字段将自动更新

然后使用视图处理您的逻辑,
如果人员不存在,请添加新人员。。。

使用modelform并将其呈现在模板中,就像“个人自动完成”字段一样?