mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
linter: Add check that Optional models are tagged with null=True.
Exclude NullBooleanField explicitly. Amend one line in models.py found from this linter change.
This commit is contained in:
committed by
Tim Abbott
parent
7d93f5726c
commit
07971d3a66
@@ -494,6 +494,17 @@ def build_custom_checkers(by_lang):
|
|||||||
'bad_lines': ['desc = models.CharField(null=True) # type: Text',
|
'bad_lines': ['desc = models.CharField(null=True) # type: Text',
|
||||||
'stream = models.ForeignKey(Stream, null=True, on_delete=CASCADE) # type: Stream'],
|
'stream = models.ForeignKey(Stream, null=True, on_delete=CASCADE) # type: Stream'],
|
||||||
},
|
},
|
||||||
|
{'pattern': ' = models[.](?!NullBoolean).*\) # type: Optional', # Optional tag, except NullBoolean(Field)
|
||||||
|
'exclude_pattern': 'null=True',
|
||||||
|
'include_only': {"zerver/models.py"},
|
||||||
|
'description': 'Model variable annotated with Optional but variable does not have null=true.',
|
||||||
|
'good_lines': ['desc = models.TextField(null=True) # type: Optional[Text]',
|
||||||
|
'stream = models.ForeignKey(Stream, null=True, on_delete=CASCADE) # type: Optional[Stream]',
|
||||||
|
'desc = models.TextField() # type: Text',
|
||||||
|
'stream = models.ForeignKey(Stream, on_delete=CASCADE) # type: Stream'],
|
||||||
|
'bad_lines': ['desc = models.TextField() # type: Optional[Text]',
|
||||||
|
'stream = models.ForeignKey(Stream, on_delete=CASCADE) # type: Optional[Stream]'],
|
||||||
|
},
|
||||||
]) + whitespace_rules + comma_whitespace_rule
|
]) + whitespace_rules + comma_whitespace_rule
|
||||||
bash_rules = cast(RuleList, [
|
bash_rules = cast(RuleList, [
|
||||||
{'pattern': '#!.*sh [-xe]',
|
{'pattern': '#!.*sh [-xe]',
|
||||||
|
|||||||
@@ -870,7 +870,7 @@ class PreregistrationUser(models.Model):
|
|||||||
|
|
||||||
realm = models.ForeignKey(Realm, null=True, on_delete=CASCADE) # type: Optional[Realm]
|
realm = models.ForeignKey(Realm, null=True, on_delete=CASCADE) # type: Optional[Realm]
|
||||||
|
|
||||||
invited_as_admin = models.BooleanField(default=False) # type: Optional[bool]
|
invited_as_admin = models.BooleanField(default=False) # type: bool
|
||||||
|
|
||||||
class MultiuseInvite(models.Model):
|
class MultiuseInvite(models.Model):
|
||||||
referred_by = models.ForeignKey(UserProfile, on_delete=CASCADE) # Optional[UserProfile]
|
referred_by = models.ForeignKey(UserProfile, on_delete=CASCADE) # Optional[UserProfile]
|
||||||
|
|||||||
Reference in New Issue
Block a user