Please provide a way to easily check NULLness of a foreign key field
And — yes, I know about [`suppress()`](https://docs.python.org/3/library/contextlib.html#contextlib.suppress) from standard library, but it still makes impossible to do quick checks inline, like:

``` python
if obj.other_obj and obj.other_obj.foo == "bar":
    # yes, it is "bar"
```
 > This looks good and seems to work, but PyCharm highlights this as reference to a non-existing field other_obj_id, so I basically lose a lot of useful IDE features when using this undeclared attribute.

This is really the de-facto way to do it. I'm sorry that PyCharm complains about it, the field is added dynamically. I would avoid using the foreign key directly as that can cause a query to be issued, which in most cases you don't want.
 Oh, you can also try this:

``` python
obj._data.get('foreign_key_name') is None
```

Currently I know only two ways to check whether there is a related instance.

First way:

``` python
try:
    other_obj = obj.other_obj
    # yes, there is

except OtherObj.DoesNotExist:
    # no, there isn't
```

This is **too** long for simple checks which I sometimes have to do.

Second way:

``` python
if obj.other_obj_id:
    # yes, there is
```

This looks good and seems to work, but PyCharm highlights this as reference to a non-existing field `other_obj_id`, so I basically lose a lot of useful IDE features when using this undeclared attribute.

Is there/will there be a third, convinient way to to this? Maybe something like this (I'm not sure how this can be implemented, just an idea):

``` python
with dont_throw_doesnotexist_here():
    if obj.other_obj:
        # yes, there is
```

Or, maybe:

``` python
if SuppressDne(obj).other_obj:
    # yes, there is
```
