Skip to content

Commit

Permalink
Add ManyToManyField.m2m_field_name and Model._get_pk_val methods (#…
Browse files Browse the repository at this point in the history
…2177)

* Add Model._get_pk_val stub.
* Add stub for ManyToManyField._m2m_field_name.
* Update & cleanup allowlists

---------

Co-authored-by: Marti Raudsepp <[email protected]>
  • Loading branch information
YPCrumble and intgr authored May 28, 2024
1 parent fec994a commit cb73083
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 18 deletions.
1 change: 1 addition & 0 deletions django-stubs/db/models/base.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -99,5 +99,6 @@ class Model(metaclass=ModelBase):
@classmethod
def check(cls, **kwargs: Any) -> list[CheckMessage]: ...
def __getstate__(self) -> dict: ...
def _get_pk_val(self, meta: Options[Self] | None = None) -> str: ...

def model_unpickle(model_id: tuple[str, str] | type[Model]) -> Model: ...
1 change: 1 addition & 0 deletions django-stubs/db/models/fields/related.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,7 @@ class ManyToManyField(RelatedField[Any, Any], Generic[_To, _Through]):
def m2m_db_table(self) -> str: ...
def m2m_column_name(self) -> str: ...
def m2m_reverse_name(self) -> str: ...
def m2m_field_name(self) -> str: ...
def m2m_reverse_field_name(self) -> str: ...
def m2m_target_field_name(self) -> str: ...
def m2m_reverse_target_field_name(self) -> str: ...
Expand Down
25 changes: 25 additions & 0 deletions scripts/stubtest/allowlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -411,3 +411,28 @@ django.contrib.sessions.base_session.AbstractBaseSession.Meta
# Custom __str__ that we don't want to overcomplicate:
django.forms.utils.RenderableMixin.__str__
django.forms.utils.RenderableMixin.__html__

# Dynamically added in ManyToManyField.contribute_to_class()
django.db.models.ManyToManyField.m2m_db_table
django.db.models.fields.related.ManyToManyField.m2m_db_table
django.contrib.gis.db.models.ManyToManyField.m2m_db_table

# Dynamically added in ManyToManyField.contribute_to_related_class()
django.db.models.ManyToManyField.m2m_column_name
django.db.models.ManyToManyField.m2m_field_name
django.db.models.ManyToManyField.m2m_reverse_field_name
django.db.models.ManyToManyField.m2m_reverse_name
django.db.models.ManyToManyField.m2m_reverse_target_field_name
django.db.models.ManyToManyField.m2m_target_field_name
django.db.models.fields.related.ManyToManyField.m2m_column_name
django.db.models.fields.related.ManyToManyField.m2m_field_name
django.db.models.fields.related.ManyToManyField.m2m_reverse_field_name
django.db.models.fields.related.ManyToManyField.m2m_reverse_name
django.db.models.fields.related.ManyToManyField.m2m_reverse_target_field_name
django.db.models.fields.related.ManyToManyField.m2m_target_field_name
django.contrib.gis.db.models.ManyToManyField.m2m_column_name
django.contrib.gis.db.models.ManyToManyField.m2m_field_name
django.contrib.gis.db.models.ManyToManyField.m2m_reverse_field_name
django.contrib.gis.db.models.ManyToManyField.m2m_reverse_name
django.contrib.gis.db.models.ManyToManyField.m2m_reverse_target_field_name
django.contrib.gis.db.models.ManyToManyField.m2m_target_field_name
18 changes: 0 additions & 18 deletions scripts/stubtest/allowlist_todo.txt
Original file line number Diff line number Diff line change
Expand Up @@ -341,12 +341,6 @@ django.contrib.gis.db.models.Manager.__slotnames__
django.contrib.gis.db.models.ManyToManyField.__get__
django.contrib.gis.db.models.ManyToManyField.contribute_to_class
django.contrib.gis.db.models.ManyToManyField.formfield
django.contrib.gis.db.models.ManyToManyField.m2m_column_name
django.contrib.gis.db.models.ManyToManyField.m2m_db_table
django.contrib.gis.db.models.ManyToManyField.m2m_reverse_field_name
django.contrib.gis.db.models.ManyToManyField.m2m_reverse_name
django.contrib.gis.db.models.ManyToManyField.m2m_reverse_target_field_name
django.contrib.gis.db.models.ManyToManyField.m2m_target_field_name
django.contrib.gis.db.models.ManyToManyField.path_infos
django.contrib.gis.db.models.ManyToManyField.reverse_path_infos
django.contrib.gis.db.models.ManyToManyRel.identity
Expand Down Expand Up @@ -777,12 +771,6 @@ django.db.models.Manager.__slotnames__
django.db.models.ManyToManyField.__get__
django.db.models.ManyToManyField.contribute_to_class
django.db.models.ManyToManyField.formfield
django.db.models.ManyToManyField.m2m_column_name
django.db.models.ManyToManyField.m2m_db_table
django.db.models.ManyToManyField.m2m_reverse_field_name
django.db.models.ManyToManyField.m2m_reverse_name
django.db.models.ManyToManyField.m2m_reverse_target_field_name
django.db.models.ManyToManyField.m2m_target_field_name
django.db.models.ManyToManyField.path_infos
django.db.models.ManyToManyField.reverse_path_infos
django.db.models.ManyToManyRel.identity
Expand Down Expand Up @@ -1005,12 +993,6 @@ django.db.models.fields.related.ForeignObjectRel.path_infos
django.db.models.fields.related.ManyToManyField.__get__
django.db.models.fields.related.ManyToManyField.contribute_to_class
django.db.models.fields.related.ManyToManyField.formfield
django.db.models.fields.related.ManyToManyField.m2m_column_name
django.db.models.fields.related.ManyToManyField.m2m_db_table
django.db.models.fields.related.ManyToManyField.m2m_reverse_field_name
django.db.models.fields.related.ManyToManyField.m2m_reverse_name
django.db.models.fields.related.ManyToManyField.m2m_reverse_target_field_name
django.db.models.fields.related.ManyToManyField.m2m_target_field_name
django.db.models.fields.related.ManyToManyField.path_infos
django.db.models.fields.related.ManyToManyField.reverse_path_infos
django.db.models.fields.related.ManyToManyRel.identity
Expand Down

0 comments on commit cb73083

Please sign in to comment.