@@ -44,10 +44,10 @@ def adjust_through_many_to_many_model(model_field: "ManyToManyField") -> None:
4444 )
4545
4646 create_and_append_m2m_fk (
47- model = model_field .to , model_field = model_field , field_name = parent_name
47+ model = model_field .to , model_field = model_field , field_name = parent_name , nullable = model_field . is_through_reverse_relation_column_nullable ,
4848 )
4949 create_and_append_m2m_fk (
50- model = model_field .owner , model_field = model_field , field_name = child_name
50+ model = model_field .owner , model_field = model_field , field_name = child_name , nullable = model_field . is_through_relation_column_nullable ,
5151 )
5252
5353 create_pydantic_field (parent_name , model_field .to , model_field )
@@ -58,7 +58,7 @@ def adjust_through_many_to_many_model(model_field: "ManyToManyField") -> None:
5858
5959
6060def create_and_append_m2m_fk (
61- model : Type ["Model" ], model_field : "ManyToManyField" , field_name : str
61+ model : Type ["Model" ], model_field : "ManyToManyField" , field_name : str , nullable : bool
6262) -> None :
6363 """
6464 Registers sqlalchemy Column with sqlalchemy.ForeignKey leading to the model.
@@ -88,6 +88,7 @@ def create_and_append_m2m_fk(
8888 name = f"fk_{ model_field .through .Meta .tablename } _{ model .Meta .tablename } "
8989 f"_{ field_name } _{ pk_alias } " ,
9090 ),
91+ nullable = nullable ,
9192 )
9293 model_field .through .Meta .columns .append (column )
9394 model_field .through .Meta .table .append_column (column )
0 commit comments