Hi Tom,
I agree, it would be better including an example. The "issue" I reported is with database views not with tables. Taking your example as base:
create table foo (f1 int, f2 int not null);
create view foo_view as select * from foo;
select column_name, is_nullable from information_schema.columns where table_name = 'foo_view';
column_name | is_nullable
-------------+-------------
f1 | YES
f2 | YES
select attname,attnotnull from pg_attribute where attrelid = 'foo_view'::regclass and attnum > 0;
attname | attnotnull
---------+------------
f1 | f
f2 | f
(2 rows)